<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
          "DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <title>aps.models.item</title>
  <link rel="stylesheet" href="epydoc.css" type="text/css" />
  <script type="text/javascript" src="epydoc.js"></script>
</head>

<body bgcolor="white" text="black" link="blue" vlink="#204080"
      alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">
  <!-- Home link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="aps-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

      <th class="navbar" width="100%"></th>
  </tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
  <tr valign="top">
    <td width="100%">
      <span class="breadcrumbs">
        <a href="aps-module.html">Package&nbsp;aps</a> ::
        <a href="aps.models-module.html">Package&nbsp;models</a> ::
        Module&nbsp;item
      </span>
    </td>
    <td>
      <table cellpadding="0" cellspacing="0">
        <!-- hide/show private -->
        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
        <tr><td align="right"><span class="options"
            >[<a href="frames.html" target="_top">frames</a
            >]&nbsp;|&nbsp;<a href="aps.models.item-pysrc.html"
            target="_top">no&nbsp;frames</a>]</span></td></tr>
      </table>
    </td>
  </tr>
</table>
<h1 class="epydoc">Source Code for <a href="aps.models.item-module.html">Module aps.models.item</a></h1>
<pre class="py-src">
<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Module aps.models.base=aps.models.base-module.html"><a title="aps.models.base" class="py-name" href="#" onclick="return doclink('link-0', 'base', 'link-0');">base</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">sqlalchemy</tt><tt class="py-op">.</tt><tt class="py-name">orm</tt> <tt class="py-keyword">import</tt> <tt class="py-name">relationship</tt><tt class="py-op">,</tt> <tt class="py-name">backref</tt> </tt>
<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">sqlalchemy</tt> <tt class="py-keyword">import</tt> <tt class="py-name">ForeignKey</tt><tt class="py-op">,</tt> <tt class="py-name">Sequence</tt> </tt>
<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-1" class="py-name" targets="Module aps.models.relacion=aps.models.relacion-module.html"><a title="aps.models.relacion" class="py-name" href="#" onclick="return doclink('link-1', 'relacion', 'link-1');">relacion</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">sqlalchemy</tt> <tt class="py-keyword">import</tt> <tt id="link-2" class="py-name" targets="Variable aps.func=aps-module.html#func,Variable aps.models.func=aps.models-module.html#func,Variable aps.models.grafo.func=aps.models.grafo-module.html#func,Variable aps.models.proyecto.func=aps.models.proyecto-module.html#func,Variable aps.views.atributo'.func=aps.views.atributo%27-module.html#func,Variable aps.views.fase.func=aps.views.fase-module.html#func,Variable aps.views.func=aps.views-module.html#func,Variable aps.views.historial'.func=aps.views.historial%27-module.html#func,Variable aps.views.item'.func=aps.views.item%27-module.html#func,Variable aps.views.lineabase'.func=aps.views.lineabase%27-module.html#func,Variable aps.views.proyecto'.func=aps.views.proyecto%27-module.html#func,Variable aps.views.relacion'.func=aps.views.relacion%27-module.html#func,Variable aps.views.rol'.func=aps.views.rol%27-module.html#func,Variable aps.views.solicitudcambio.func=aps.views.solicitudcambio-module.html#func,Variable aps.views.usuario'.func=aps.views.usuario%27-module.html#func"><a title="aps.func
aps.models.func
aps.models.grafo.func
aps.models.proyecto.func
aps.views.atributo'.func
aps.views.fase.func
aps.views.func
aps.views.historial'.func
aps.views.item'.func
aps.views.lineabase'.func
aps.views.proyecto'.func
aps.views.relacion'.func
aps.views.rol'.func
aps.views.solicitudcambio.func
aps.views.usuario'.func" class="py-name" href="#" onclick="return doclink('link-2', 'func', 'link-2');">func</a></tt> </tt>
<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-3" class="py-name" targets="Module aps.models.itematributovalor=aps.models.itematributovalor-module.html"><a title="aps.models.itematributovalor" class="py-name" href="#" onclick="return doclink('link-3', 'itematributovalor', 'link-3');">itematributovalor</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-4" class="py-name" targets="Module aps.models.lineabase=aps.models.lineabase-module.html"><a title="aps.models.lineabase" class="py-name" href="#" onclick="return doclink('link-4', 'lineabase', 'link-4');">lineabase</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"> </tt>
<a name="Item"></a><div id="Item-def"><a name="L9"></a><tt class="py-lineno">  9</tt> <a class="py-toggle" href="#" id="Item-toggle" onclick="return toggle('Item');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="aps.models.item.Item-class.html">Item</a><tt class="py-op">(</tt><tt class="py-base-class">Base</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="Item-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Item-expanded"><a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-docstring">    Clase que crea la tabla Item </tt> </tt>
<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line">    <tt id="link-5" class="py-name" targets="Variable aps.models.atributo.Atributo.__tablename__=aps.models.atributo.Atributo-class.html#__tablename__,Variable aps.models.fase.Fase.__tablename__=aps.models.fase.Fase-class.html#__tablename__,Variable aps.models.faserol.FaseRol.__tablename__=aps.models.faserol.FaseRol-class.html#__tablename__,Variable aps.models.fasetipoitem.FaseTipoitem.__tablename__=aps.models.fasetipoitem.FaseTipoitem-class.html#__tablename__,Variable aps.models.historial.Historial.__tablename__=aps.models.historial.Historial-class.html#__tablename__,Variable aps.models.item.Item.__tablename__=aps.models.item.Item-class.html#__tablename__,Variable aps.models.itematributovalor.ItemAtributoValor.__tablename__=aps.models.itematributovalor.ItemAtributoValor-class.html#__tablename__,Variable aps.models.itemversion.ItemVersion.__tablename__=aps.models.itemversion.ItemVersion-class.html#__tablename__,Variable aps.models.lineabase.Lineabase.__tablename__=aps.models.lineabase.Lineabase-class.html#__tablename__,Variable aps.models.permiso.Permiso.__tablename__=aps.models.permiso.Permiso-class.html#__tablename__,Variable aps.models.proyecto.Proyecto.__tablename__=aps.models.proyecto.Proyecto-class.html#__tablename__,Variable aps.models.proyectofase.ProyectoFase.__tablename__=aps.models.proyectofase.ProyectoFase-class.html#__tablename__,Variable aps.models.proyectorol.ProyectoRol.__tablename__=aps.models.proyectorol.ProyectoRol-class.html#__tablename__,Variable aps.models.proyectousuario.ProyectoUsuario.__tablename__=aps.models.proyectousuario.ProyectoUsuario-class.html#__tablename__,Variable aps.models.proyectousuariorol.ProyectoUsuarioRol.__tablename__=aps.models.proyectousuariorol.ProyectoUsuarioRol-class.html#__tablename__,Variable aps.models.relacion.Relacion.__tablename__=aps.models.relacion.Relacion-class.html#__tablename__,Variable aps.models.rol.Rol.__tablename__=aps.models.rol.Rol-class.html#__tablename__,Variable aps.models.rolpermiso.RolPermiso.__tablename__=aps.models.rolpermiso.RolPermiso-class.html#__tablename__,Variable aps.models.solicitud.Solicitud.__tablename__=aps.models.solicitud.Solicitud-class.html#__tablename__,Variable aps.models.solicituditem.SolicitudItem.__tablename__=aps.models.solicituditem.SolicitudItem-class.html#__tablename__,Variable aps.models.tipoitem.Tipoitem.__tablename__=aps.models.tipoitem.Tipoitem-class.html#__tablename__,Variable aps.models.tipoitematributo.TipoitemAtributo.__tablename__=aps.models.tipoitematributo.TipoitemAtributo-class.html#__tablename__,Variable aps.models.uploadedfile.UploadedFile.__tablename__=aps.models.uploadedfile.UploadedFile-class.html#__tablename__,Variable aps.models.usuario.Usuario.__tablename__=aps.models.usuario.Usuario-class.html#__tablename__,Variable aps.models.voto.Voto.__tablename__=aps.models.voto.Voto-class.html#__tablename__"><a title="aps.models.atributo.Atributo.__tablename__
aps.models.fase.Fase.__tablename__
aps.models.faserol.FaseRol.__tablename__
aps.models.fasetipoitem.FaseTipoitem.__tablename__
aps.models.historial.Historial.__tablename__
aps.models.item.Item.__tablename__
aps.models.itematributovalor.ItemAtributoValor.__tablename__
aps.models.itemversion.ItemVersion.__tablename__
aps.models.lineabase.Lineabase.__tablename__
aps.models.permiso.Permiso.__tablename__
aps.models.proyecto.Proyecto.__tablename__
aps.models.proyectofase.ProyectoFase.__tablename__
aps.models.proyectorol.ProyectoRol.__tablename__
aps.models.proyectousuario.ProyectoUsuario.__tablename__
aps.models.proyectousuariorol.ProyectoUsuarioRol.__tablename__
aps.models.relacion.Relacion.__tablename__
aps.models.rol.Rol.__tablename__
aps.models.rolpermiso.RolPermiso.__tablename__
aps.models.solicitud.Solicitud.__tablename__
aps.models.solicituditem.SolicitudItem.__tablename__
aps.models.tipoitem.Tipoitem.__tablename__
aps.models.tipoitematributo.TipoitemAtributo.__tablename__
aps.models.uploadedfile.UploadedFile.__tablename__
aps.models.usuario.Usuario.__tablename__
aps.models.voto.Voto.__tablename__" class="py-name" href="#" onclick="return doclink('link-5', '__tablename__', 'link-5');">__tablename__</a></tt>           <tt class="py-op">=</tt> <tt class="py-string">'item'</tt> </tt>
<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line">    <tt id="link-6" class="py-name" targets="Variable aps.models.atributo.Atributo.id=aps.models.atributo.Atributo-class.html#id,Variable aps.models.fase.Fase.id=aps.models.fase.Fase-class.html#id,Variable aps.models.item.Item.id=aps.models.item.Item-class.html#id,Variable aps.models.itemversion.ItemVersion.id=aps.models.itemversion.ItemVersion-class.html#id,Variable aps.models.lineabase.Lineabase.id=aps.models.lineabase.Lineabase-class.html#id,Variable aps.models.permiso.Permiso.id=aps.models.permiso.Permiso-class.html#id,Variable aps.models.proyecto.Proyecto.id=aps.models.proyecto.Proyecto-class.html#id,Variable aps.models.rol.Rol.id=aps.models.rol.Rol-class.html#id,Variable aps.models.solicitud.Solicitud.id=aps.models.solicitud.Solicitud-class.html#id,Variable aps.models.tipoitem.Tipoitem.id=aps.models.tipoitem.Tipoitem-class.html#id,Variable aps.models.usuario.Usuario.id=aps.models.usuario.Usuario-class.html#id"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-6', 'id', 'link-6');">id</a></tt>                      <tt class="py-op">=</tt> <tt class="py-name">Column</tt><tt class="py-op">(</tt><tt class="py-name">Integer</tt><tt class="py-op">,</tt> <tt class="py-name">Sequence</tt><tt class="py-op">(</tt><tt class="py-string">'item_id_seq'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">primary_key</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line">    <tt id="link-7" class="py-name" targets="Variable aps.models.item.Item.numfase=aps.models.item.Item-class.html#numfase,Variable aps.models.itemversion.ItemVersion.numfase=aps.models.itemversion.ItemVersion-class.html#numfase"><a title="aps.models.item.Item.numfase
aps.models.itemversion.ItemVersion.numfase" class="py-name" href="#" onclick="return doclink('link-7', 'numfase', 'link-7');">numfase</a></tt>                 <tt class="py-op">=</tt> <tt class="py-name">Column</tt><tt class="py-op">(</tt><tt class="py-name">Text</tt><tt class="py-op">)</tt> </tt>
<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line">    <tt id="link-8" class="py-name" targets="Variable aps.models.atributo.Atributo.nombre=aps.models.atributo.Atributo-class.html#nombre,Variable aps.models.fase.Fase.nombre=aps.models.fase.Fase-class.html#nombre,Variable aps.models.item.Item.nombre=aps.models.item.Item-class.html#nombre,Variable aps.models.itemversion.ItemVersion.nombre=aps.models.itemversion.ItemVersion-class.html#nombre,Variable aps.models.lineabase.Lineabase.nombre=aps.models.lineabase.Lineabase-class.html#nombre,Variable aps.models.permiso.Permiso.nombre=aps.models.permiso.Permiso-class.html#nombre,Variable aps.models.proyecto.Proyecto.nombre=aps.models.proyecto.Proyecto-class.html#nombre,Variable aps.models.rol.Rol.nombre=aps.models.rol.Rol-class.html#nombre,Variable aps.models.tipoitem.Tipoitem.nombre=aps.models.tipoitem.Tipoitem-class.html#nombre"><a title="aps.models.atributo.Atributo.nombre
aps.models.fase.Fase.nombre
aps.models.item.Item.nombre
aps.models.itemversion.ItemVersion.nombre
aps.models.lineabase.Lineabase.nombre
aps.models.permiso.Permiso.nombre
aps.models.proyecto.Proyecto.nombre
aps.models.rol.Rol.nombre
aps.models.tipoitem.Tipoitem.nombre" class="py-name" href="#" onclick="return doclink('link-8', 'nombre', 'link-8');">nombre</a></tt>                  <tt class="py-op">=</tt> <tt class="py-name">Column</tt><tt class="py-op">(</tt><tt class="py-name">Text</tt><tt class="py-op">,</tt> <tt class="py-name">nullable</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line">    <tt id="link-9" class="py-name" targets="Variable aps.models.fase.Fase.descripcion=aps.models.fase.Fase-class.html#descripcion,Variable aps.models.item.Item.descripcion=aps.models.item.Item-class.html#descripcion,Variable aps.models.itemversion.ItemVersion.descripcion=aps.models.itemversion.ItemVersion-class.html#descripcion,Variable aps.models.lineabase.Lineabase.descripcion=aps.models.lineabase.Lineabase-class.html#descripcion,Variable aps.models.permiso.Permiso.descripcion=aps.models.permiso.Permiso-class.html#descripcion,Variable aps.models.proyecto.Proyecto.descripcion=aps.models.proyecto.Proyecto-class.html#descripcion,Variable aps.models.rol.Rol.descripcion=aps.models.rol.Rol-class.html#descripcion,Variable aps.models.solicitud.Solicitud.descripcion=aps.models.solicitud.Solicitud-class.html#descripcion,Variable aps.models.tipoitem.Tipoitem.descripcion=aps.models.tipoitem.Tipoitem-class.html#descripcion"><a title="aps.models.fase.Fase.descripcion
aps.models.item.Item.descripcion
aps.models.itemversion.ItemVersion.descripcion
aps.models.lineabase.Lineabase.descripcion
aps.models.permiso.Permiso.descripcion
aps.models.proyecto.Proyecto.descripcion
aps.models.rol.Rol.descripcion
aps.models.solicitud.Solicitud.descripcion
aps.models.tipoitem.Tipoitem.descripcion" class="py-name" href="#" onclick="return doclink('link-9', 'descripcion', 'link-9');">descripcion</a></tt>             <tt class="py-op">=</tt> <tt class="py-name">Column</tt><tt class="py-op">(</tt><tt class="py-name">Text</tt><tt class="py-op">)</tt> </tt>
<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line">    <tt id="link-10" class="py-name" targets="Variable aps.models.item.Item.version=aps.models.item.Item-class.html#version,Variable aps.models.itematributovalor.ItemAtributoValor.version=aps.models.itematributovalor.ItemAtributoValor-class.html#version,Variable aps.models.itemversion.ItemVersion.version=aps.models.itemversion.ItemVersion-class.html#version,Variable aps.models.uploadedfile.UploadedFile.version=aps.models.uploadedfile.UploadedFile-class.html#version"><a title="aps.models.item.Item.version
aps.models.itematributovalor.ItemAtributoValor.version
aps.models.itemversion.ItemVersion.version
aps.models.uploadedfile.UploadedFile.version" class="py-name" href="#" onclick="return doclink('link-10', 'version', 'link-10');">version</a></tt>                 <tt class="py-op">=</tt> <tt class="py-name">Column</tt><tt class="py-op">(</tt><tt class="py-name">Integer</tt><tt class="py-op">,</tt> <tt class="py-name">nullable</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line">    <tt id="link-11" class="py-name" targets="Variable aps.models.item.Item.prioridad=aps.models.item.Item-class.html#prioridad,Variable aps.models.itemversion.ItemVersion.prioridad=aps.models.itemversion.ItemVersion-class.html#prioridad"><a title="aps.models.item.Item.prioridad
aps.models.itemversion.ItemVersion.prioridad" class="py-name" href="#" onclick="return doclink('link-11', 'prioridad', 'link-11');">prioridad</a></tt>               <tt class="py-op">=</tt> <tt class="py-name">Column</tt><tt class="py-op">(</tt><tt class="py-name">Integer</tt><tt class="py-op">,</tt> <tt class="py-name">nullable</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line">    <tt id="link-12" class="py-name" targets="Variable aps.models.item.Item.complejidad=aps.models.item.Item-class.html#complejidad,Variable aps.models.itemversion.ItemVersion.complejidad=aps.models.itemversion.ItemVersion-class.html#complejidad"><a title="aps.models.item.Item.complejidad
aps.models.itemversion.ItemVersion.complejidad" class="py-name" href="#" onclick="return doclink('link-12', 'complejidad', 'link-12');">complejidad</a></tt>             <tt class="py-op">=</tt> <tt class="py-name">Column</tt><tt class="py-op">(</tt><tt class="py-name">Integer</tt><tt class="py-op">,</tt> <tt class="py-name">nullable</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line">    <tt id="link-13" class="py-name" targets="Variable aps.models.fase.Fase.estado=aps.models.fase.Fase-class.html#estado,Variable aps.models.item.Item.estado=aps.models.item.Item-class.html#estado,Variable aps.models.itemversion.ItemVersion.estado=aps.models.itemversion.ItemVersion-class.html#estado,Variable aps.models.lineabase.Lineabase.estado=aps.models.lineabase.Lineabase-class.html#estado,Variable aps.models.proyecto.Proyecto.estado=aps.models.proyecto.Proyecto-class.html#estado,Variable aps.models.relacion.Relacion.estado=aps.models.relacion.Relacion-class.html#estado,Variable aps.models.solicitud.Solicitud.estado=aps.models.solicitud.Solicitud-class.html#estado"><a title="aps.models.fase.Fase.estado
aps.models.item.Item.estado
aps.models.itemversion.ItemVersion.estado
aps.models.lineabase.Lineabase.estado
aps.models.proyecto.Proyecto.estado
aps.models.relacion.Relacion.estado
aps.models.solicitud.Solicitud.estado" class="py-name" href="#" onclick="return doclink('link-13', 'estado', 'link-13');">estado</a></tt>                  <tt class="py-op">=</tt> <tt class="py-name">Column</tt><tt class="py-op">(</tt><tt class="py-name">Text</tt><tt class="py-op">,</tt> <tt class="py-name">nullable</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line">    <tt id="link-14" class="py-name" targets="Variable aps.models.item.Item.idlineabase=aps.models.item.Item-class.html#idlineabase,Variable aps.models.itemversion.ItemVersion.idlineabase=aps.models.itemversion.ItemVersion-class.html#idlineabase"><a title="aps.models.item.Item.idlineabase
aps.models.itemversion.ItemVersion.idlineabase" class="py-name" href="#" onclick="return doclink('link-14', 'idlineabase', 'link-14');">idlineabase</a></tt>             <tt class="py-op">=</tt> <tt class="py-name">Column</tt><tt class="py-op">(</tt><tt class="py-name">Integer</tt><tt class="py-op">,</tt> <tt class="py-name">ForeignKey</tt><tt class="py-op">(</tt><tt class="py-string">'lineabasea.id'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line">    <tt id="link-15" class="py-name" targets="Variable aps.models.fasetipoitem.FaseTipoitem.idtipoitem=aps.models.fasetipoitem.FaseTipoitem-class.html#idtipoitem,Variable aps.models.item.Item.idtipoitem=aps.models.item.Item-class.html#idtipoitem,Variable aps.models.itemversion.ItemVersion.idtipoitem=aps.models.itemversion.ItemVersion-class.html#idtipoitem,Variable aps.models.tipoitematributo.TipoitemAtributo.idtipoitem=aps.models.tipoitematributo.TipoitemAtributo-class.html#idtipoitem"><a title="aps.models.fasetipoitem.FaseTipoitem.idtipoitem
aps.models.item.Item.idtipoitem
aps.models.itemversion.ItemVersion.idtipoitem
aps.models.tipoitematributo.TipoitemAtributo.idtipoitem" class="py-name" href="#" onclick="return doclink('link-15', 'idtipoitem', 'link-15');">idtipoitem</a></tt>              <tt class="py-op">=</tt> <tt class="py-name">Column</tt><tt class="py-op">(</tt><tt class="py-name">Integer</tt><tt class="py-op">,</tt> <tt class="py-name">ForeignKey</tt><tt class="py-op">(</tt><tt class="py-string">'tipoitem.id'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line">    <tt id="link-16" class="py-name" targets="Variable aps.models.faserol.FaseRol.idfase=aps.models.faserol.FaseRol-class.html#idfase,Variable aps.models.fasetipoitem.FaseTipoitem.idfase=aps.models.fasetipoitem.FaseTipoitem-class.html#idfase,Variable aps.models.historial.Historial.idfase=aps.models.historial.Historial-class.html#idfase,Variable aps.models.item.Item.idfase=aps.models.item.Item-class.html#idfase,Variable aps.models.itemversion.ItemVersion.idfase=aps.models.itemversion.ItemVersion-class.html#idfase,Variable aps.models.lineabase.Lineabase.idfase=aps.models.lineabase.Lineabase-class.html#idfase,Variable aps.models.proyectofase.ProyectoFase.idfase=aps.models.proyectofase.ProyectoFase-class.html#idfase,Variable aps.models.solicitud.Solicitud.idfase=aps.models.solicitud.Solicitud-class.html#idfase"><a title="aps.models.faserol.FaseRol.idfase
aps.models.fasetipoitem.FaseTipoitem.idfase
aps.models.historial.Historial.idfase
aps.models.item.Item.idfase
aps.models.itemversion.ItemVersion.idfase
aps.models.lineabase.Lineabase.idfase
aps.models.proyectofase.ProyectoFase.idfase
aps.models.solicitud.Solicitud.idfase" class="py-name" href="#" onclick="return doclink('link-16', 'idfase', 'link-16');">idfase</a></tt>                  <tt class="py-op">=</tt> <tt class="py-name">Column</tt><tt class="py-op">(</tt><tt class="py-name">Integer</tt><tt class="py-op">,</tt> <tt class="py-name">ForeignKey</tt><tt class="py-op">(</tt><tt class="py-string">'fase.id'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line">    <tt id="link-17" class="py-name" targets="Variable aps.models.fasetipoitem.FaseTipoitem.tipoitem=aps.models.fasetipoitem.FaseTipoitem-class.html#tipoitem,Variable aps.models.item.Item.tipoitem=aps.models.item.Item-class.html#tipoitem,Module aps.models.tipoitem=aps.models.tipoitem-module.html,Module aps.views.tipoitem=aps.views.tipoitem-module.html"><a title="aps.models.fasetipoitem.FaseTipoitem.tipoitem
aps.models.item.Item.tipoitem
aps.models.tipoitem
aps.views.tipoitem" class="py-name" href="#" onclick="return doclink('link-17', 'tipoitem', 'link-17');">tipoitem</a></tt>                <tt class="py-op">=</tt> <tt class="py-name">relationship</tt><tt class="py-op">(</tt><tt class="py-string">"Tipoitem"</tt><tt class="py-op">,</tt> <tt class="py-name">backref</tt><tt class="py-op">=</tt><tt class="py-string">"items"</tt><tt class="py-op">)</tt> </tt>
<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line">    <tt id="link-18" class="py-name" targets="Variable aps.models.item.Item.valoratributo_x_version=aps.models.item.Item-class.html#valoratributo_x_version"><a title="aps.models.item.Item.valoratributo_x_version" class="py-name" href="#" onclick="return doclink('link-18', 'valoratributo_x_version', 'link-18');">valoratributo_x_version</a></tt> <tt class="py-op">=</tt> <tt class="py-name">relationship</tt><tt class="py-op">(</tt><tt class="py-string">"ItemAtributoValor"</tt><tt class="py-op">,</tt> <tt class="py-name">backref</tt><tt class="py-op">=</tt><tt class="py-string">"item"</tt><tt class="py-op">)</tt> </tt>
<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line">    <tt id="link-19" class="py-name" targets="Module aps.models.fase=aps.models.fase-module.html,Variable aps.models.historial.Historial.fase=aps.models.historial.Historial-class.html#fase,Variable aps.models.item.Item.fase=aps.models.item.Item-class.html#fase,Variable aps.models.proyectofase.ProyectoFase.fase=aps.models.proyectofase.ProyectoFase-class.html#fase,Variable aps.models.solicitud.Solicitud.fase=aps.models.solicitud.Solicitud-class.html#fase,Module aps.views.fase=aps.views.fase-module.html"><a title="aps.models.fase
aps.models.historial.Historial.fase
aps.models.item.Item.fase
aps.models.proyectofase.ProyectoFase.fase
aps.models.solicitud.Solicitud.fase
aps.views.fase" class="py-name" href="#" onclick="return doclink('link-19', 'fase', 'link-19');">fase</a></tt>                    <tt class="py-op">=</tt> <tt class="py-name">relationship</tt><tt class="py-op">(</tt><tt class="py-string">"Fase"</tt><tt class="py-op">)</tt> </tt>
<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line">     </tt>
<a name="Item.__init__"></a><div id="Item.__init__-def"><a name="L29"></a><tt class="py-lineno"> 29</tt> <a class="py-toggle" href="#" id="Item.__init__-toggle" onclick="return toggle('Item.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="aps.models.item.Item-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">numfase</tt><tt class="py-op">,</tt> <tt class="py-param">nombre</tt><tt class="py-op">,</tt> <tt class="py-param">descripcion</tt><tt class="py-op">,</tt> <tt class="py-param">version</tt><tt class="py-op">,</tt> <tt class="py-param">prioridad</tt><tt class="py-op">,</tt> <tt class="py-param">complejidad</tt><tt class="py-op">,</tt> <tt class="py-param">estado</tt><tt class="py-op">,</tt> <tt class="py-param">idlineabase</tt><tt class="py-op">,</tt> <tt class="py-param">idtipoitem</tt><tt class="py-op">,</tt> <tt class="py-param">idfase</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="Item.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Item.__init__-expanded"><a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"><tt class="py-docstring">        Metodo de instancia constructor que inicializa los parametros del objeto item</tt> </tt>
<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"><tt class="py-docstring">        @type numfase: Text</tt> </tt>
<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"><tt class="py-docstring">        @param numfase: campo que indica la numeracion del item dentro de una fase</tt> </tt>
<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"><tt class="py-docstring">        @type nombre: Text</tt> </tt>
<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line"><tt class="py-docstring">        @param nombre: campo que almacenara el nombre del item</tt> </tt>
<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line"><tt class="py-docstring">        @type descripcion: Text</tt> </tt>
<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line"><tt class="py-docstring">        @param nombre: campo que almacenara la descripcion del item</tt> </tt>
<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"><tt class="py-docstring">        @type version: Integer</tt> </tt>
<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line"><tt class="py-docstring">        @param version: campo que almacenara la version del item</tt> </tt>
<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line"><tt class="py-docstring">        @type prioridad: Integer</tt> </tt>
<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line"><tt class="py-docstring">        @param prioridad: campo que almacenara la prioridad del item</tt> </tt>
<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line"><tt class="py-docstring">        @type complejidad: Integer</tt> </tt>
<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line"><tt class="py-docstring">        @param complejidad: campo que almacenara la complejidad del item</tt> </tt>
<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line"><tt class="py-docstring">        @type estado: Text</tt> </tt>
<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"><tt class="py-docstring">        @param estado: campo que almacenara el estado del item</tt> </tt>
<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line"><tt class="py-docstring">        @type idlineabase: Integer</tt> </tt>
<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line"><tt class="py-docstring">        @param idlineabase: campo que indica a que linea base pertenece el item</tt> </tt>
<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line"><tt class="py-docstring">        @type idtipoitem: Integer</tt> </tt>
<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line"><tt class="py-docstring">        @param idtipoitem: campo que indica el tipo del item</tt> </tt>
<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line"><tt class="py-docstring">        @type idfase: Integer</tt> </tt>
<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line"><tt class="py-docstring">        @param idfase: campo que indicia la fase al que pertenece el item</tt> </tt>
<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name"><a title="aps.models.item.Item.numfase
aps.models.itemversion.ItemVersion.numfase" class="py-name" href="#" onclick="return doclink('link-20', 'numfase', 'link-7');">numfase</a></tt> <tt class="py-op">=</tt> <tt id="link-21" class="py-name"><a title="aps.models.item.Item.numfase
aps.models.itemversion.ItemVersion.numfase" class="py-name" href="#" onclick="return doclink('link-21', 'numfase', 'link-7');">numfase</a></tt> </tt>
<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="aps.models.atributo.Atributo.nombre
aps.models.fase.Fase.nombre
aps.models.item.Item.nombre
aps.models.itemversion.ItemVersion.nombre
aps.models.lineabase.Lineabase.nombre
aps.models.permiso.Permiso.nombre
aps.models.proyecto.Proyecto.nombre
aps.models.rol.Rol.nombre
aps.models.tipoitem.Tipoitem.nombre" class="py-name" href="#" onclick="return doclink('link-22', 'nombre', 'link-8');">nombre</a></tt> <tt class="py-op">=</tt> <tt id="link-23" class="py-name"><a title="aps.models.atributo.Atributo.nombre
aps.models.fase.Fase.nombre
aps.models.item.Item.nombre
aps.models.itemversion.ItemVersion.nombre
aps.models.lineabase.Lineabase.nombre
aps.models.permiso.Permiso.nombre
aps.models.proyecto.Proyecto.nombre
aps.models.rol.Rol.nombre
aps.models.tipoitem.Tipoitem.nombre" class="py-name" href="#" onclick="return doclink('link-23', 'nombre', 'link-8');">nombre</a></tt> </tt>
<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="aps.models.fase.Fase.descripcion
aps.models.item.Item.descripcion
aps.models.itemversion.ItemVersion.descripcion
aps.models.lineabase.Lineabase.descripcion
aps.models.permiso.Permiso.descripcion
aps.models.proyecto.Proyecto.descripcion
aps.models.rol.Rol.descripcion
aps.models.solicitud.Solicitud.descripcion
aps.models.tipoitem.Tipoitem.descripcion" class="py-name" href="#" onclick="return doclink('link-24', 'descripcion', 'link-9');">descripcion</a></tt> <tt class="py-op">=</tt> <tt id="link-25" class="py-name"><a title="aps.models.fase.Fase.descripcion
aps.models.item.Item.descripcion
aps.models.itemversion.ItemVersion.descripcion
aps.models.lineabase.Lineabase.descripcion
aps.models.permiso.Permiso.descripcion
aps.models.proyecto.Proyecto.descripcion
aps.models.rol.Rol.descripcion
aps.models.solicitud.Solicitud.descripcion
aps.models.tipoitem.Tipoitem.descripcion" class="py-name" href="#" onclick="return doclink('link-25', 'descripcion', 'link-9');">descripcion</a></tt> </tt>
<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="aps.models.item.Item.version
aps.models.itematributovalor.ItemAtributoValor.version
aps.models.itemversion.ItemVersion.version
aps.models.uploadedfile.UploadedFile.version" class="py-name" href="#" onclick="return doclink('link-26', 'version', 'link-10');">version</a></tt> <tt class="py-op">=</tt> <tt id="link-27" class="py-name"><a title="aps.models.item.Item.version
aps.models.itematributovalor.ItemAtributoValor.version
aps.models.itemversion.ItemVersion.version
aps.models.uploadedfile.UploadedFile.version" class="py-name" href="#" onclick="return doclink('link-27', 'version', 'link-10');">version</a></tt> </tt>
<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="aps.models.item.Item.prioridad
aps.models.itemversion.ItemVersion.prioridad" class="py-name" href="#" onclick="return doclink('link-28', 'prioridad', 'link-11');">prioridad</a></tt> <tt class="py-op">=</tt> <tt id="link-29" class="py-name"><a title="aps.models.item.Item.prioridad
aps.models.itemversion.ItemVersion.prioridad" class="py-name" href="#" onclick="return doclink('link-29', 'prioridad', 'link-11');">prioridad</a></tt> </tt>
<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name"><a title="aps.models.item.Item.complejidad
aps.models.itemversion.ItemVersion.complejidad" class="py-name" href="#" onclick="return doclink('link-30', 'complejidad', 'link-12');">complejidad</a></tt> <tt class="py-op">=</tt> <tt id="link-31" class="py-name"><a title="aps.models.item.Item.complejidad
aps.models.itemversion.ItemVersion.complejidad" class="py-name" href="#" onclick="return doclink('link-31', 'complejidad', 'link-12');">complejidad</a></tt> </tt>
<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="aps.models.fase.Fase.estado
aps.models.item.Item.estado
aps.models.itemversion.ItemVersion.estado
aps.models.lineabase.Lineabase.estado
aps.models.proyecto.Proyecto.estado
aps.models.relacion.Relacion.estado
aps.models.solicitud.Solicitud.estado" class="py-name" href="#" onclick="return doclink('link-32', 'estado', 'link-13');">estado</a></tt> <tt class="py-op">=</tt> <tt id="link-33" class="py-name"><a title="aps.models.fase.Fase.estado
aps.models.item.Item.estado
aps.models.itemversion.ItemVersion.estado
aps.models.lineabase.Lineabase.estado
aps.models.proyecto.Proyecto.estado
aps.models.relacion.Relacion.estado
aps.models.solicitud.Solicitud.estado" class="py-name" href="#" onclick="return doclink('link-33', 'estado', 'link-13');">estado</a></tt> </tt>
<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="aps.models.item.Item.idlineabase
aps.models.itemversion.ItemVersion.idlineabase" class="py-name" href="#" onclick="return doclink('link-34', 'idlineabase', 'link-14');">idlineabase</a></tt> <tt class="py-op">=</tt> <tt id="link-35" class="py-name"><a title="aps.models.item.Item.idlineabase
aps.models.itemversion.ItemVersion.idlineabase" class="py-name" href="#" onclick="return doclink('link-35', 'idlineabase', 'link-14');">idlineabase</a></tt> </tt>
<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="aps.models.fasetipoitem.FaseTipoitem.idtipoitem
aps.models.item.Item.idtipoitem
aps.models.itemversion.ItemVersion.idtipoitem
aps.models.tipoitematributo.TipoitemAtributo.idtipoitem" class="py-name" href="#" onclick="return doclink('link-36', 'idtipoitem', 'link-15');">idtipoitem</a></tt> <tt class="py-op">=</tt> <tt id="link-37" class="py-name"><a title="aps.models.fasetipoitem.FaseTipoitem.idtipoitem
aps.models.item.Item.idtipoitem
aps.models.itemversion.ItemVersion.idtipoitem
aps.models.tipoitematributo.TipoitemAtributo.idtipoitem" class="py-name" href="#" onclick="return doclink('link-37', 'idtipoitem', 'link-15');">idtipoitem</a></tt> </tt>
<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="aps.models.faserol.FaseRol.idfase
aps.models.fasetipoitem.FaseTipoitem.idfase
aps.models.historial.Historial.idfase
aps.models.item.Item.idfase
aps.models.itemversion.ItemVersion.idfase
aps.models.lineabase.Lineabase.idfase
aps.models.proyectofase.ProyectoFase.idfase
aps.models.solicitud.Solicitud.idfase" class="py-name" href="#" onclick="return doclink('link-38', 'idfase', 'link-16');">idfase</a></tt> <tt class="py-op">=</tt> <tt id="link-39" class="py-name"><a title="aps.models.faserol.FaseRol.idfase
aps.models.fasetipoitem.FaseTipoitem.idfase
aps.models.historial.Historial.idfase
aps.models.item.Item.idfase
aps.models.itemversion.ItemVersion.idfase
aps.models.lineabase.Lineabase.idfase
aps.models.proyectofase.ProyectoFase.idfase
aps.models.solicitud.Solicitud.idfase" class="py-name" href="#" onclick="return doclink('link-39', 'idfase', 'link-16');">idfase</a></tt> </tt>
</div><a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line"> </tt>
<a name="Item.eliminar_dependencias"></a><div id="Item.eliminar_dependencias-def"><a name="L64"></a><tt class="py-lineno"> 64</tt> <a class="py-toggle" href="#" id="Item.eliminar_dependencias-toggle" onclick="return toggle('Item.eliminar_dependencias');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="aps.models.item.Item-class.html#eliminar_dependencias">eliminar_dependencias</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="Item.eliminar_dependencias-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Item.eliminar_dependencias-expanded"><a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line"><tt class="py-docstring">        Metodo de instancia que elimina todas los relaciones de un registro de la tabla Items</tt> </tt>
<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line"><tt class="py-docstring">        para que pueda ser eliminado.</tt> </tt>
<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line"><tt class="py-docstring">        @type self: item</tt> </tt>
<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line"><tt class="py-docstring">        @param self: referencia al objeto que llama el metodo en este caso item.</tt> </tt>
<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">        <tt class="py-comment"># TODO : implementar</tt> </tt>
<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">        <tt class="py-keyword">pass</tt> </tt>
</div><a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line"> </tt>
<a name="Item.get_antecesores"></a><div id="Item.get_antecesores-def"><a name="L74"></a><tt class="py-lineno"> 74</tt> <a class="py-toggle" href="#" id="Item.get_antecesores-toggle" onclick="return toggle('Item.get_antecesores');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="aps.models.item.Item-class.html#get_antecesores">get_antecesores</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">tipo</tt><tt class="py-op">=</tt><tt class="py-string">'ALL'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="Item.get_antecesores-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Item.get_antecesores-expanded"><a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line"><tt class="py-docstring">        Metodo que retorna las relaciones existentes entre el item y sus antecesores.</tt> </tt>
<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line"><tt class="py-docstring">        @type self: Item</tt> </tt>
<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line"><tt class="py-docstring">        @param self: referencia al objeto que llama el metodo en este caso item.</tt> </tt>
<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line"><tt class="py-docstring">        @type tipo: Integer</tt> </tt>
<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line"><tt class="py-docstring">        @param tipo: especifica el tipo de relacion que se retorna</tt> </tt>
<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">        <tt class="py-comment"># Obtenemos los ids de los items de origen</tt> </tt>
<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">        <tt class="py-name">id_antecesores</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-40" class="py-name" targets="Variable aps.models.relacion.Relacion.tipo=aps.models.relacion.Relacion-class.html#tipo"><a title="aps.models.relacion.Relacion.tipo" class="py-name" href="#" onclick="return doclink('link-40', 'tipo', 'link-40');">tipo</a></tt><tt class="py-op">==</tt><tt class="py-string">'PH'</tt> <tt class="py-keyword">or</tt> <tt id="link-41" class="py-name"><a title="aps.models.relacion.Relacion.tipo" class="py-name" href="#" onclick="return doclink('link-41', 'tipo', 'link-40');">tipo</a></tt><tt class="py-op">==</tt><tt class="py-string">'AS'</tt><tt class="py-op">:</tt> </tt>
<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">            <tt class="py-comment"># solo los ids de los antecesores o padres</tt> </tt>
<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">            <tt class="py-name">id_antecesores</tt> <tt class="py-op">=</tt> <tt id="link-42" class="py-name" targets="Variable aps.bdsession=aps-module.html#bdsession,Variable aps.models.atributo.bdsession=aps.models.atributo-module.html#bdsession,Variable aps.models.base.bdsession=aps.models.base-module.html#bdsession,Variable aps.models.bdsession=aps.models-module.html#bdsession,Variable aps.models.fase.bdsession=aps.models.fase-module.html#bdsession,Variable aps.models.faserol.bdsession=aps.models.faserol-module.html#bdsession,Variable aps.models.fasetipoitem.bdsession=aps.models.fasetipoitem-module.html#bdsession,Variable aps.models.grafo.bdsession=aps.models.grafo-module.html#bdsession,Variable aps.models.historial.bdsession=aps.models.historial-module.html#bdsession,Variable aps.models.item.bdsession=aps.models.item-module.html#bdsession,Variable aps.models.itematributovalor.bdsession=aps.models.itematributovalor-module.html#bdsession,Variable aps.models.itemversion.bdsession=aps.models.itemversion-module.html#bdsession,Variable aps.models.lineabase.bdsession=aps.models.lineabase-module.html#bdsession,Variable aps.models.permiso.bdsession=aps.models.permiso-module.html#bdsession,Variable aps.models.proyecto.bdsession=aps.models.proyecto-module.html#bdsession,Variable aps.models.proyectofase.bdsession=aps.models.proyectofase-module.html#bdsession,Variable aps.models.proyectorol.bdsession=aps.models.proyectorol-module.html#bdsession,Variable aps.models.proyectousuario.bdsession=aps.models.proyectousuario-module.html#bdsession,Variable aps.models.proyectousuariorol.bdsession=aps.models.proyectousuariorol-module.html#bdsession,Variable aps.models.relacion.bdsession=aps.models.relacion-module.html#bdsession,Variable aps.models.rol.bdsession=aps.models.rol-module.html#bdsession,Variable aps.models.rolpermiso.bdsession=aps.models.rolpermiso-module.html#bdsession,Variable aps.models.solicitud.bdsession=aps.models.solicitud-module.html#bdsession,Variable aps.models.solicituditem.bdsession=aps.models.solicituditem-module.html#bdsession,Variable aps.models.tipoitem.bdsession=aps.models.tipoitem-module.html#bdsession,Variable aps.models.tipoitematributo.bdsession=aps.models.tipoitematributo-module.html#bdsession,Variable aps.models.uploadedfile.bdsession=aps.models.uploadedfile-module.html#bdsession,Variable aps.models.usuario.bdsession=aps.models.usuario-module.html#bdsession,Variable aps.models.voto.bdsession=aps.models.voto-module.html#bdsession,Variable aps.views.atributo'.bdsession=aps.views.atributo%27-module.html#bdsession,Variable aps.views.bdsession=aps.views-module.html#bdsession,Variable aps.views.fase.bdsession=aps.views.fase-module.html#bdsession,Variable aps.views.historial'.bdsession=aps.views.historial%27-module.html#bdsession,Variable aps.views.item'.bdsession=aps.views.item%27-module.html#bdsession,Variable aps.views.lineabase'.bdsession=aps.views.lineabase%27-module.html#bdsession,Variable aps.views.login'.bdsession=aps.views.login%27-module.html#bdsession,Variable aps.views.main.bdsession=aps.views.main-module.html#bdsession,Variable aps.views.permiso'.bdsession=aps.views.permiso%27-module.html#bdsession,Variable aps.views.proyecto'.bdsession=aps.views.proyecto%27-module.html#bdsession,Variable aps.views.relacion'.bdsession=aps.views.relacion%27-module.html#bdsession,Variable aps.views.rol'.bdsession=aps.views.rol%27-module.html#bdsession,Variable aps.views.solicitudcambio.bdsession=aps.views.solicitudcambio-module.html#bdsession,Variable aps.views.tipoitem.bdsession=aps.views.tipoitem-module.html#bdsession,Variable aps.views.usuario'.bdsession=aps.views.usuario%27-module.html#bdsession"><a title="aps.bdsession
aps.models.atributo.bdsession
aps.models.base.bdsession
aps.models.bdsession
aps.models.fase.bdsession
aps.models.faserol.bdsession
aps.models.fasetipoitem.bdsession
aps.models.grafo.bdsession
aps.models.historial.bdsession
aps.models.item.bdsession
aps.models.itematributovalor.bdsession
aps.models.itemversion.bdsession
aps.models.lineabase.bdsession
aps.models.permiso.bdsession
aps.models.proyecto.bdsession
aps.models.proyectofase.bdsession
aps.models.proyectorol.bdsession
aps.models.proyectousuario.bdsession
aps.models.proyectousuariorol.bdsession
aps.models.relacion.bdsession
aps.models.rol.bdsession
aps.models.rolpermiso.bdsession
aps.models.solicitud.bdsession
aps.models.solicituditem.bdsession
aps.models.tipoitem.bdsession
aps.models.tipoitematributo.bdsession
aps.models.uploadedfile.bdsession
aps.models.usuario.bdsession
aps.models.voto.bdsession
aps.views.atributo'.bdsession
aps.views.bdsession
aps.views.fase.bdsession
aps.views.historial'.bdsession
aps.views.item'.bdsession
aps.views.lineabase'.bdsession
aps.views.login'.bdsession
aps.views.main.bdsession
aps.views.permiso'.bdsession
aps.views.proyecto'.bdsession
aps.views.relacion'.bdsession
aps.views.rol'.bdsession
aps.views.solicitudcambio.bdsession
aps.views.tipoitem.bdsession
aps.views.usuario'.bdsession" class="py-name" href="#" onclick="return doclink('link-42', 'bdsession', 'link-42');">bdsession</a></tt><tt class="py-op">.</tt><tt class="py-name">query</tt><tt class="py-op">(</tt><tt id="link-43" class="py-name" targets="Class aps.models.relacion.Relacion=aps.models.relacion.Relacion-class.html"><a title="aps.models.relacion.Relacion" class="py-name" href="#" onclick="return doclink('link-43', 'Relacion', 'link-43');">Relacion</a></tt><tt class="py-op">.</tt><tt id="link-44" class="py-name" targets="Variable aps.models.relacion.Relacion.idorigen=aps.models.relacion.Relacion-class.html#idorigen"><a title="aps.models.relacion.Relacion.idorigen" class="py-name" href="#" onclick="return doclink('link-44', 'idorigen', 'link-44');">idorigen</a></tt><tt class="py-op">,</tt> <tt id="link-45" class="py-name"><a title="aps.func
aps.models.func
aps.models.grafo.func
aps.models.proyecto.func
aps.views.atributo'.func
aps.views.fase.func
aps.views.func
aps.views.historial'.func
aps.views.item'.func
aps.views.lineabase'.func
aps.views.proyecto'.func
aps.views.relacion'.func
aps.views.rol'.func
aps.views.solicitudcambio.func
aps.views.usuario'.func" class="py-name" href="#" onclick="return doclink('link-45', 'func', 'link-2');">func</a></tt><tt class="py-op">.</tt><tt class="py-name">max</tt><tt class="py-op">(</tt><tt id="link-46" class="py-name"><a title="aps.models.relacion.Relacion" class="py-name" href="#" onclick="return doclink('link-46', 'Relacion', 'link-43');">Relacion</a></tt><tt class="py-op">.</tt><tt id="link-47" class="py-name" targets="Variable aps.models.relacion.Relacion.vorigen=aps.models.relacion.Relacion-class.html#vorigen"><a title="aps.models.relacion.Relacion.vorigen" class="py-name" href="#" onclick="return doclink('link-47', 'vorigen', 'link-47');">vorigen</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">filter_by</tt><tt class="py-op">(</tt><tt id="link-48" class="py-name" targets="Variable aps.models.relacion.Relacion.iddestino=aps.models.relacion.Relacion-class.html#iddestino"><a title="aps.models.relacion.Relacion.iddestino" class="py-name" href="#" onclick="return doclink('link-48', 'iddestino', 'link-48');">iddestino</a></tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-49" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-49', 'id', 'link-6');">id</a></tt><tt class="py-op">,</tt><tt id="link-50" class="py-name" targets="Variable aps.models.relacion.Relacion.vdestino=aps.models.relacion.Relacion-class.html#vdestino"><a title="aps.models.relacion.Relacion.vdestino" class="py-name" href="#" onclick="return doclink('link-50', 'vdestino', 'link-50');">vdestino</a></tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-51" class="py-name"><a title="aps.models.item.Item.version
aps.models.itematributovalor.ItemAtributoValor.version
aps.models.itemversion.ItemVersion.version
aps.models.uploadedfile.UploadedFile.version" class="py-name" href="#" onclick="return doclink('link-51', 'version', 'link-10');">version</a></tt><tt class="py-op">,</tt><tt id="link-52" class="py-name"><a title="aps.models.relacion.Relacion.tipo" class="py-name" href="#" onclick="return doclink('link-52', 'tipo', 'link-40');">tipo</a></tt><tt class="py-op">=</tt><tt id="link-53" class="py-name"><a title="aps.models.relacion.Relacion.tipo" class="py-name" href="#" onclick="return doclink('link-53', 'tipo', 'link-40');">tipo</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">group_by</tt><tt class="py-op">(</tt><tt id="link-54" class="py-name"><a title="aps.models.relacion.Relacion" class="py-name" href="#" onclick="return doclink('link-54', 'Relacion', 'link-43');">Relacion</a></tt><tt class="py-op">.</tt><tt id="link-55" class="py-name"><a title="aps.models.relacion.Relacion.idorigen" class="py-name" href="#" onclick="return doclink('link-55', 'idorigen', 'link-44');">idorigen</a></tt><tt class="py-op">,</tt> <tt id="link-56" class="py-name"><a title="aps.models.relacion.Relacion" class="py-name" href="#" onclick="return doclink('link-56', 'Relacion', 'link-43');">Relacion</a></tt><tt class="py-op">.</tt><tt id="link-57" class="py-name"><a title="aps.models.relacion.Relacion.iddestino" class="py-name" href="#" onclick="return doclink('link-57', 'iddestino', 'link-48');">iddestino</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">all</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">            <tt class="py-comment"># ids de los antecesores y padres</tt> </tt>
<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">            <tt class="py-name">id_antecesores</tt> <tt class="py-op">=</tt> <tt id="link-58" class="py-name"><a title="aps.bdsession
aps.models.atributo.bdsession
aps.models.base.bdsession
aps.models.bdsession
aps.models.fase.bdsession
aps.models.faserol.bdsession
aps.models.fasetipoitem.bdsession
aps.models.grafo.bdsession
aps.models.historial.bdsession
aps.models.item.bdsession
aps.models.itematributovalor.bdsession
aps.models.itemversion.bdsession
aps.models.lineabase.bdsession
aps.models.permiso.bdsession
aps.models.proyecto.bdsession
aps.models.proyectofase.bdsession
aps.models.proyectorol.bdsession
aps.models.proyectousuario.bdsession
aps.models.proyectousuariorol.bdsession
aps.models.relacion.bdsession
aps.models.rol.bdsession
aps.models.rolpermiso.bdsession
aps.models.solicitud.bdsession
aps.models.solicituditem.bdsession
aps.models.tipoitem.bdsession
aps.models.tipoitematributo.bdsession
aps.models.uploadedfile.bdsession
aps.models.usuario.bdsession
aps.models.voto.bdsession
aps.views.atributo'.bdsession
aps.views.bdsession
aps.views.fase.bdsession
aps.views.historial'.bdsession
aps.views.item'.bdsession
aps.views.lineabase'.bdsession
aps.views.login'.bdsession
aps.views.main.bdsession
aps.views.permiso'.bdsession
aps.views.proyecto'.bdsession
aps.views.relacion'.bdsession
aps.views.rol'.bdsession
aps.views.solicitudcambio.bdsession
aps.views.tipoitem.bdsession
aps.views.usuario'.bdsession" class="py-name" href="#" onclick="return doclink('link-58', 'bdsession', 'link-42');">bdsession</a></tt><tt class="py-op">.</tt><tt class="py-name">query</tt><tt class="py-op">(</tt><tt id="link-59" class="py-name"><a title="aps.models.relacion.Relacion" class="py-name" href="#" onclick="return doclink('link-59', 'Relacion', 'link-43');">Relacion</a></tt><tt class="py-op">.</tt><tt id="link-60" class="py-name"><a title="aps.models.relacion.Relacion.idorigen" class="py-name" href="#" onclick="return doclink('link-60', 'idorigen', 'link-44');">idorigen</a></tt><tt class="py-op">,</tt> <tt id="link-61" class="py-name"><a title="aps.func
aps.models.func
aps.models.grafo.func
aps.models.proyecto.func
aps.views.atributo'.func
aps.views.fase.func
aps.views.func
aps.views.historial'.func
aps.views.item'.func
aps.views.lineabase'.func
aps.views.proyecto'.func
aps.views.relacion'.func
aps.views.rol'.func
aps.views.solicitudcambio.func
aps.views.usuario'.func" class="py-name" href="#" onclick="return doclink('link-61', 'func', 'link-2');">func</a></tt><tt class="py-op">.</tt><tt class="py-name">max</tt><tt class="py-op">(</tt><tt id="link-62" class="py-name"><a title="aps.models.relacion.Relacion" class="py-name" href="#" onclick="return doclink('link-62', 'Relacion', 'link-43');">Relacion</a></tt><tt class="py-op">.</tt><tt id="link-63" class="py-name"><a title="aps.models.relacion.Relacion.vorigen" class="py-name" href="#" onclick="return doclink('link-63', 'vorigen', 'link-47');">vorigen</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">filter_by</tt><tt class="py-op">(</tt><tt id="link-64" class="py-name"><a title="aps.models.relacion.Relacion.iddestino" class="py-name" href="#" onclick="return doclink('link-64', 'iddestino', 'link-48');">iddestino</a></tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-65" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-65', 'id', 'link-6');">id</a></tt><tt class="py-op">,</tt><tt id="link-66" class="py-name"><a title="aps.models.relacion.Relacion.vdestino" class="py-name" href="#" onclick="return doclink('link-66', 'vdestino', 'link-50');">vdestino</a></tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-67" class="py-name"><a title="aps.models.item.Item.version
aps.models.itematributovalor.ItemAtributoValor.version
aps.models.itemversion.ItemVersion.version
aps.models.uploadedfile.UploadedFile.version" class="py-name" href="#" onclick="return doclink('link-67', 'version', 'link-10');">version</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">group_by</tt><tt class="py-op">(</tt><tt id="link-68" class="py-name"><a title="aps.models.relacion.Relacion" class="py-name" href="#" onclick="return doclink('link-68', 'Relacion', 'link-43');">Relacion</a></tt><tt class="py-op">.</tt><tt id="link-69" class="py-name"><a title="aps.models.relacion.Relacion.idorigen" class="py-name" href="#" onclick="return doclink('link-69', 'idorigen', 'link-44');">idorigen</a></tt><tt class="py-op">,</tt> <tt id="link-70" class="py-name"><a title="aps.models.relacion.Relacion" class="py-name" href="#" onclick="return doclink('link-70', 'Relacion', 'link-43');">Relacion</a></tt><tt class="py-op">.</tt><tt id="link-71" class="py-name"><a title="aps.models.relacion.Relacion.iddestino" class="py-name" href="#" onclick="return doclink('link-71', 'iddestino', 'link-48');">iddestino</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">all</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">         </tt>
<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">        <tt class="py-name">relaciones_validas</tt>    <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">        <tt class="py-name">relaciones_invalidas</tt>  <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">        <tt class="py-name">relaciones_eliminadas</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">element</tt> <tt class="py-keyword">in</tt> <tt class="py-name">id_antecesores</tt><tt class="py-op">:</tt> </tt>
<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">            <tt class="py-name">id_item</tt> <tt class="py-op">=</tt> <tt class="py-name">element</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">            <tt id="link-72" class="py-name"><a title="aps.models.item.Item.version
aps.models.itematributovalor.ItemAtributoValor.version
aps.models.itemversion.ItemVersion.version
aps.models.uploadedfile.UploadedFile.version" class="py-name" href="#" onclick="return doclink('link-72', 'version', 'link-10');">version</a></tt> <tt class="py-op">=</tt> <tt class="py-name">element</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">            <tt class="py-comment"># Extraemos la relacion de la BD</tt> </tt>
<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">            <tt id="link-73" class="py-name"><a title="aps.models.relacion" class="py-name" href="#" onclick="return doclink('link-73', 'relacion', 'link-1');">relacion</a></tt> <tt class="py-op">=</tt> <tt id="link-74" class="py-name"><a title="aps.bdsession
aps.models.atributo.bdsession
aps.models.base.bdsession
aps.models.bdsession
aps.models.fase.bdsession
aps.models.faserol.bdsession
aps.models.fasetipoitem.bdsession
aps.models.grafo.bdsession
aps.models.historial.bdsession
aps.models.item.bdsession
aps.models.itematributovalor.bdsession
aps.models.itemversion.bdsession
aps.models.lineabase.bdsession
aps.models.permiso.bdsession
aps.models.proyecto.bdsession
aps.models.proyectofase.bdsession
aps.models.proyectorol.bdsession
aps.models.proyectousuario.bdsession
aps.models.proyectousuariorol.bdsession
aps.models.relacion.bdsession
aps.models.rol.bdsession
aps.models.rolpermiso.bdsession
aps.models.solicitud.bdsession
aps.models.solicituditem.bdsession
aps.models.tipoitem.bdsession
aps.models.tipoitematributo.bdsession
aps.models.uploadedfile.bdsession
aps.models.usuario.bdsession
aps.models.voto.bdsession
aps.views.atributo'.bdsession
aps.views.bdsession
aps.views.fase.bdsession
aps.views.historial'.bdsession
aps.views.item'.bdsession
aps.views.lineabase'.bdsession
aps.views.login'.bdsession
aps.views.main.bdsession
aps.views.permiso'.bdsession
aps.views.proyecto'.bdsession
aps.views.relacion'.bdsession
aps.views.rol'.bdsession
aps.views.solicitudcambio.bdsession
aps.views.tipoitem.bdsession
aps.views.usuario'.bdsession" class="py-name" href="#" onclick="return doclink('link-74', 'bdsession', 'link-42');">bdsession</a></tt><tt class="py-op">.</tt><tt class="py-name">query</tt><tt class="py-op">(</tt><tt id="link-75" class="py-name"><a title="aps.models.relacion.Relacion" class="py-name" href="#" onclick="return doclink('link-75', 'Relacion', 'link-43');">Relacion</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">filter_by</tt><tt class="py-op">(</tt><tt id="link-76" class="py-name"><a title="aps.models.relacion.Relacion.iddestino" class="py-name" href="#" onclick="return doclink('link-76', 'iddestino', 'link-48');">iddestino</a></tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-77" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-77', 'id', 'link-6');">id</a></tt><tt class="py-op">,</tt><tt id="link-78" class="py-name"><a title="aps.models.relacion.Relacion.vdestino" class="py-name" href="#" onclick="return doclink('link-78', 'vdestino', 'link-50');">vdestino</a></tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-79" class="py-name"><a title="aps.models.item.Item.version
aps.models.itematributovalor.ItemAtributoValor.version
aps.models.itemversion.ItemVersion.version
aps.models.uploadedfile.UploadedFile.version" class="py-name" href="#" onclick="return doclink('link-79', 'version', 'link-10');">version</a></tt><tt class="py-op">,</tt><tt id="link-80" class="py-name"><a title="aps.models.relacion.Relacion.idorigen" class="py-name" href="#" onclick="return doclink('link-80', 'idorigen', 'link-44');">idorigen</a></tt><tt class="py-op">=</tt><tt class="py-name">id_item</tt><tt class="py-op">,</tt><tt id="link-81" class="py-name"><a title="aps.models.relacion.Relacion.vorigen" class="py-name" href="#" onclick="return doclink('link-81', 'vorigen', 'link-47');">vorigen</a></tt><tt class="py-op">=</tt><tt id="link-82" class="py-name"><a title="aps.models.item.Item.version
aps.models.itematributovalor.ItemAtributoValor.version
aps.models.itemversion.ItemVersion.version
aps.models.uploadedfile.UploadedFile.version" class="py-name" href="#" onclick="return doclink('link-82', 'version', 'link-10');">version</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">first</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">            <tt class="py-comment"># item origen</tt> </tt>
<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">            <tt class="py-name">origen</tt> <tt class="py-op">=</tt> <tt id="link-83" class="py-name"><a title="aps.bdsession
aps.models.atributo.bdsession
aps.models.base.bdsession
aps.models.bdsession
aps.models.fase.bdsession
aps.models.faserol.bdsession
aps.models.fasetipoitem.bdsession
aps.models.grafo.bdsession
aps.models.historial.bdsession
aps.models.item.bdsession
aps.models.itematributovalor.bdsession
aps.models.itemversion.bdsession
aps.models.lineabase.bdsession
aps.models.permiso.bdsession
aps.models.proyecto.bdsession
aps.models.proyectofase.bdsession
aps.models.proyectorol.bdsession
aps.models.proyectousuario.bdsession
aps.models.proyectousuariorol.bdsession
aps.models.relacion.bdsession
aps.models.rol.bdsession
aps.models.rolpermiso.bdsession
aps.models.solicitud.bdsession
aps.models.solicituditem.bdsession
aps.models.tipoitem.bdsession
aps.models.tipoitematributo.bdsession
aps.models.uploadedfile.bdsession
aps.models.usuario.bdsession
aps.models.voto.bdsession
aps.views.atributo'.bdsession
aps.views.bdsession
aps.views.fase.bdsession
aps.views.historial'.bdsession
aps.views.item'.bdsession
aps.views.lineabase'.bdsession
aps.views.login'.bdsession
aps.views.main.bdsession
aps.views.permiso'.bdsession
aps.views.proyecto'.bdsession
aps.views.relacion'.bdsession
aps.views.rol'.bdsession
aps.views.solicitudcambio.bdsession
aps.views.tipoitem.bdsession
aps.views.usuario'.bdsession" class="py-name" href="#" onclick="return doclink('link-83', 'bdsession', 'link-42');">bdsession</a></tt><tt class="py-op">.</tt><tt class="py-name">query</tt><tt class="py-op">(</tt><tt id="link-84" class="py-name" targets="Class aps.models.item.Item=aps.models.item.Item-class.html"><a title="aps.models.item.Item" class="py-name" href="#" onclick="return doclink('link-84', 'Item', 'link-84');">Item</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">filter_by</tt><tt class="py-op">(</tt><tt id="link-85" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-85', 'id', 'link-6');">id</a></tt><tt class="py-op">=</tt><tt id="link-86" class="py-name"><a title="aps.models.relacion" class="py-name" href="#" onclick="return doclink('link-86', 'relacion', 'link-1');">relacion</a></tt><tt class="py-op">.</tt><tt id="link-87" class="py-name"><a title="aps.models.relacion.Relacion.idorigen" class="py-name" href="#" onclick="return doclink('link-87', 'idorigen', 'link-44');">idorigen</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">first</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">            <tt class="py-comment"># item destino</tt> </tt>
<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">            <tt class="py-name">destino</tt> <tt class="py-op">=</tt> <tt id="link-88" class="py-name"><a title="aps.bdsession
aps.models.atributo.bdsession
aps.models.base.bdsession
aps.models.bdsession
aps.models.fase.bdsession
aps.models.faserol.bdsession
aps.models.fasetipoitem.bdsession
aps.models.grafo.bdsession
aps.models.historial.bdsession
aps.models.item.bdsession
aps.models.itematributovalor.bdsession
aps.models.itemversion.bdsession
aps.models.lineabase.bdsession
aps.models.permiso.bdsession
aps.models.proyecto.bdsession
aps.models.proyectofase.bdsession
aps.models.proyectorol.bdsession
aps.models.proyectousuario.bdsession
aps.models.proyectousuariorol.bdsession
aps.models.relacion.bdsession
aps.models.rol.bdsession
aps.models.rolpermiso.bdsession
aps.models.solicitud.bdsession
aps.models.solicituditem.bdsession
aps.models.tipoitem.bdsession
aps.models.tipoitematributo.bdsession
aps.models.uploadedfile.bdsession
aps.models.usuario.bdsession
aps.models.voto.bdsession
aps.views.atributo'.bdsession
aps.views.bdsession
aps.views.fase.bdsession
aps.views.historial'.bdsession
aps.views.item'.bdsession
aps.views.lineabase'.bdsession
aps.views.login'.bdsession
aps.views.main.bdsession
aps.views.permiso'.bdsession
aps.views.proyecto'.bdsession
aps.views.relacion'.bdsession
aps.views.rol'.bdsession
aps.views.solicitudcambio.bdsession
aps.views.tipoitem.bdsession
aps.views.usuario'.bdsession" class="py-name" href="#" onclick="return doclink('link-88', 'bdsession', 'link-42');">bdsession</a></tt><tt class="py-op">.</tt><tt class="py-name">query</tt><tt class="py-op">(</tt><tt id="link-89" class="py-name"><a title="aps.models.item.Item" class="py-name" href="#" onclick="return doclink('link-89', 'Item', 'link-84');">Item</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">filter_by</tt><tt class="py-op">(</tt><tt id="link-90" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-90', 'id', 'link-6');">id</a></tt><tt class="py-op">=</tt><tt id="link-91" class="py-name"><a title="aps.models.relacion" class="py-name" href="#" onclick="return doclink('link-91', 'relacion', 'link-1');">relacion</a></tt><tt class="py-op">.</tt><tt id="link-92" class="py-name"><a title="aps.models.relacion.Relacion.iddestino" class="py-name" href="#" onclick="return doclink('link-92', 'iddestino', 'link-48');">iddestino</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">first</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">            <tt class="py-comment"># controlamos que las versiones sean consistentes</tt> </tt>
<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">origen</tt><tt class="py-op">.</tt><tt id="link-93" class="py-name"><a title="aps.models.item.Item.version
aps.models.itematributovalor.ItemAtributoValor.version
aps.models.itemversion.ItemVersion.version
aps.models.uploadedfile.UploadedFile.version" class="py-name" href="#" onclick="return doclink('link-93', 'version', 'link-10');">version</a></tt> <tt class="py-op">==</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt id="link-94" class="py-name"><a title="aps.models.relacion" class="py-name" href="#" onclick="return doclink('link-94', 'relacion', 'link-1');">relacion</a></tt><tt class="py-op">.</tt><tt id="link-95" class="py-name"><a title="aps.models.relacion.Relacion.vorigen" class="py-name" href="#" onclick="return doclink('link-95', 'vorigen', 'link-47');">vorigen</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">                <tt class="py-comment"># Filtramos las relaciones de acuerdo al estado de la relacion</tt> </tt>
<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-96" class="py-name"><a title="aps.models.relacion" class="py-name" href="#" onclick="return doclink('link-96', 'relacion', 'link-1');">relacion</a></tt><tt class="py-op">.</tt><tt id="link-97" class="py-name"><a title="aps.models.fase.Fase.estado
aps.models.item.Item.estado
aps.models.itemversion.ItemVersion.estado
aps.models.lineabase.Lineabase.estado
aps.models.proyecto.Proyecto.estado
aps.models.relacion.Relacion.estado
aps.models.solicitud.Solicitud.estado" class="py-name" href="#" onclick="return doclink('link-97', 'estado', 'link-13');">estado</a></tt> <tt class="py-op">==</tt> <tt class="py-string">'VALIDO'</tt><tt class="py-op">:</tt> </tt>
<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">                    <tt class="py-name">relaciones_validas</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-98" class="py-name"><a title="aps.models.relacion" class="py-name" href="#" onclick="return doclink('link-98', 'relacion', 'link-1');">relacion</a></tt><tt class="py-op">)</tt> </tt>
<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt id="link-99" class="py-name"><a title="aps.models.relacion" class="py-name" href="#" onclick="return doclink('link-99', 'relacion', 'link-1');">relacion</a></tt><tt class="py-op">.</tt><tt id="link-100" class="py-name"><a title="aps.models.fase.Fase.estado
aps.models.item.Item.estado
aps.models.itemversion.ItemVersion.estado
aps.models.lineabase.Lineabase.estado
aps.models.proyecto.Proyecto.estado
aps.models.relacion.Relacion.estado
aps.models.solicitud.Solicitud.estado" class="py-name" href="#" onclick="return doclink('link-100', 'estado', 'link-13');">estado</a></tt> <tt class="py-op">==</tt> <tt class="py-string">'INVALIDO'</tt><tt class="py-op">:</tt> </tt>
<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">                    <tt class="py-name">relaciones_invalidas</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-101" class="py-name"><a title="aps.models.relacion" class="py-name" href="#" onclick="return doclink('link-101', 'relacion', 'link-1');">relacion</a></tt><tt class="py-op">)</tt> </tt>
<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">                    <tt class="py-name">relaciones_eliminadas</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-102" class="py-name"><a title="aps.models.relacion" class="py-name" href="#" onclick="return doclink('link-102', 'relacion', 'link-1');">relacion</a></tt><tt class="py-op">)</tt> </tt>
<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">         </tt>
<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-op">{</tt> <tt class="py-string">'validas'</tt><tt class="py-op">:</tt><tt class="py-name">relaciones_validas</tt><tt class="py-op">,</tt><tt class="py-string">'invalidas'</tt><tt class="py-op">:</tt><tt class="py-name">relaciones_invalidas</tt><tt class="py-op">,</tt><tt class="py-string">'eliminadas'</tt><tt class="py-op">:</tt><tt class="py-name">relaciones_eliminadas</tt><tt class="py-op">}</tt> </tt>
</div><a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">     </tt>
<a name="Item.get_sucesores"></a><div id="Item.get_sucesores-def"><a name="L115"></a><tt class="py-lineno">115</tt> <a class="py-toggle" href="#" id="Item.get_sucesores-toggle" onclick="return toggle('Item.get_sucesores');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="aps.models.item.Item-class.html#get_sucesores">get_sucesores</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">tipo</tt><tt class="py-op">=</tt><tt class="py-string">'ALL'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="Item.get_sucesores-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Item.get_sucesores-expanded"><a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line"><tt class="py-docstring">        Metodo que retorna las relaciones existentes entre el item y sus sucesores.</tt> </tt>
<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line"><tt class="py-docstring">        @type self: Item</tt> </tt>
<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line"><tt class="py-docstring">        @param self: referencia al objeto que llama el metodo en este caso item.</tt> </tt>
<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line"><tt class="py-docstring">        @type tipo: Integer</tt> </tt>
<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line"><tt class="py-docstring">        @param tipo: especifica el tipo de relacion que se retorna</tt> </tt>
<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">        <tt class="py-comment"># Obtenemos los ids de los items de destino</tt> </tt>
<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">        <tt class="py-name">id_sucesores</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-103" class="py-name"><a title="aps.models.relacion.Relacion.tipo" class="py-name" href="#" onclick="return doclink('link-103', 'tipo', 'link-40');">tipo</a></tt><tt class="py-op">==</tt><tt class="py-string">'PH'</tt> <tt class="py-keyword">or</tt> <tt id="link-104" class="py-name"><a title="aps.models.relacion.Relacion.tipo" class="py-name" href="#" onclick="return doclink('link-104', 'tipo', 'link-40');">tipo</a></tt><tt class="py-op">==</tt><tt class="py-string">'AS'</tt><tt class="py-op">:</tt> </tt>
<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">            <tt class="py-comment"># solo los ids de los sucesores o hijos</tt> </tt>
<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">            <tt class="py-name">id_sucesores</tt> <tt class="py-op">=</tt> <tt id="link-105" class="py-name"><a title="aps.bdsession
aps.models.atributo.bdsession
aps.models.base.bdsession
aps.models.bdsession
aps.models.fase.bdsession
aps.models.faserol.bdsession
aps.models.fasetipoitem.bdsession
aps.models.grafo.bdsession
aps.models.historial.bdsession
aps.models.item.bdsession
aps.models.itematributovalor.bdsession
aps.models.itemversion.bdsession
aps.models.lineabase.bdsession
aps.models.permiso.bdsession
aps.models.proyecto.bdsession
aps.models.proyectofase.bdsession
aps.models.proyectorol.bdsession
aps.models.proyectousuario.bdsession
aps.models.proyectousuariorol.bdsession
aps.models.relacion.bdsession
aps.models.rol.bdsession
aps.models.rolpermiso.bdsession
aps.models.solicitud.bdsession
aps.models.solicituditem.bdsession
aps.models.tipoitem.bdsession
aps.models.tipoitematributo.bdsession
aps.models.uploadedfile.bdsession
aps.models.usuario.bdsession
aps.models.voto.bdsession
aps.views.atributo'.bdsession
aps.views.bdsession
aps.views.fase.bdsession
aps.views.historial'.bdsession
aps.views.item'.bdsession
aps.views.lineabase'.bdsession
aps.views.login'.bdsession
aps.views.main.bdsession
aps.views.permiso'.bdsession
aps.views.proyecto'.bdsession
aps.views.relacion'.bdsession
aps.views.rol'.bdsession
aps.views.solicitudcambio.bdsession
aps.views.tipoitem.bdsession
aps.views.usuario'.bdsession" class="py-name" href="#" onclick="return doclink('link-105', 'bdsession', 'link-42');">bdsession</a></tt><tt class="py-op">.</tt><tt class="py-name">query</tt><tt class="py-op">(</tt><tt id="link-106" class="py-name"><a title="aps.models.relacion.Relacion" class="py-name" href="#" onclick="return doclink('link-106', 'Relacion', 'link-43');">Relacion</a></tt><tt class="py-op">.</tt><tt id="link-107" class="py-name"><a title="aps.models.relacion.Relacion.iddestino" class="py-name" href="#" onclick="return doclink('link-107', 'iddestino', 'link-48');">iddestino</a></tt><tt class="py-op">,</tt> <tt id="link-108" class="py-name"><a title="aps.func
aps.models.func
aps.models.grafo.func
aps.models.proyecto.func
aps.views.atributo'.func
aps.views.fase.func
aps.views.func
aps.views.historial'.func
aps.views.item'.func
aps.views.lineabase'.func
aps.views.proyecto'.func
aps.views.relacion'.func
aps.views.rol'.func
aps.views.solicitudcambio.func
aps.views.usuario'.func" class="py-name" href="#" onclick="return doclink('link-108', 'func', 'link-2');">func</a></tt><tt class="py-op">.</tt><tt class="py-name">max</tt><tt class="py-op">(</tt><tt id="link-109" class="py-name"><a title="aps.models.relacion.Relacion" class="py-name" href="#" onclick="return doclink('link-109', 'Relacion', 'link-43');">Relacion</a></tt><tt class="py-op">.</tt><tt id="link-110" class="py-name"><a title="aps.models.relacion.Relacion.vdestino" class="py-name" href="#" onclick="return doclink('link-110', 'vdestino', 'link-50');">vdestino</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">filter_by</tt><tt class="py-op">(</tt><tt id="link-111" class="py-name"><a title="aps.models.relacion.Relacion.idorigen" class="py-name" href="#" onclick="return doclink('link-111', 'idorigen', 'link-44');">idorigen</a></tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-112" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-112', 'id', 'link-6');">id</a></tt><tt class="py-op">,</tt><tt id="link-113" class="py-name"><a title="aps.models.relacion.Relacion.vorigen" class="py-name" href="#" onclick="return doclink('link-113', 'vorigen', 'link-47');">vorigen</a></tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-114" class="py-name"><a title="aps.models.item.Item.version
aps.models.itematributovalor.ItemAtributoValor.version
aps.models.itemversion.ItemVersion.version
aps.models.uploadedfile.UploadedFile.version" class="py-name" href="#" onclick="return doclink('link-114', 'version', 'link-10');">version</a></tt><tt class="py-op">,</tt><tt id="link-115" class="py-name"><a title="aps.models.relacion.Relacion.tipo" class="py-name" href="#" onclick="return doclink('link-115', 'tipo', 'link-40');">tipo</a></tt><tt class="py-op">=</tt><tt id="link-116" class="py-name"><a title="aps.models.relacion.Relacion.tipo" class="py-name" href="#" onclick="return doclink('link-116', 'tipo', 'link-40');">tipo</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">group_by</tt><tt class="py-op">(</tt><tt id="link-117" class="py-name"><a title="aps.models.relacion.Relacion" class="py-name" href="#" onclick="return doclink('link-117', 'Relacion', 'link-43');">Relacion</a></tt><tt class="py-op">.</tt><tt id="link-118" class="py-name"><a title="aps.models.relacion.Relacion.iddestino" class="py-name" href="#" onclick="return doclink('link-118', 'iddestino', 'link-48');">iddestino</a></tt><tt class="py-op">,</tt> <tt id="link-119" class="py-name"><a title="aps.models.relacion.Relacion" class="py-name" href="#" onclick="return doclink('link-119', 'Relacion', 'link-43');">Relacion</a></tt><tt class="py-op">.</tt><tt id="link-120" class="py-name"><a title="aps.models.relacion.Relacion.idorigen" class="py-name" href="#" onclick="return doclink('link-120', 'idorigen', 'link-44');">idorigen</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">all</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">            <tt class="py-comment"># ids de los sucesores e hijos</tt> </tt>
<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">            <tt class="py-name">id_sucesores</tt> <tt class="py-op">=</tt> <tt id="link-121" class="py-name"><a title="aps.bdsession
aps.models.atributo.bdsession
aps.models.base.bdsession
aps.models.bdsession
aps.models.fase.bdsession
aps.models.faserol.bdsession
aps.models.fasetipoitem.bdsession
aps.models.grafo.bdsession
aps.models.historial.bdsession
aps.models.item.bdsession
aps.models.itematributovalor.bdsession
aps.models.itemversion.bdsession
aps.models.lineabase.bdsession
aps.models.permiso.bdsession
aps.models.proyecto.bdsession
aps.models.proyectofase.bdsession
aps.models.proyectorol.bdsession
aps.models.proyectousuario.bdsession
aps.models.proyectousuariorol.bdsession
aps.models.relacion.bdsession
aps.models.rol.bdsession
aps.models.rolpermiso.bdsession
aps.models.solicitud.bdsession
aps.models.solicituditem.bdsession
aps.models.tipoitem.bdsession
aps.models.tipoitematributo.bdsession
aps.models.uploadedfile.bdsession
aps.models.usuario.bdsession
aps.models.voto.bdsession
aps.views.atributo'.bdsession
aps.views.bdsession
aps.views.fase.bdsession
aps.views.historial'.bdsession
aps.views.item'.bdsession
aps.views.lineabase'.bdsession
aps.views.login'.bdsession
aps.views.main.bdsession
aps.views.permiso'.bdsession
aps.views.proyecto'.bdsession
aps.views.relacion'.bdsession
aps.views.rol'.bdsession
aps.views.solicitudcambio.bdsession
aps.views.tipoitem.bdsession
aps.views.usuario'.bdsession" class="py-name" href="#" onclick="return doclink('link-121', 'bdsession', 'link-42');">bdsession</a></tt><tt class="py-op">.</tt><tt class="py-name">query</tt><tt class="py-op">(</tt><tt id="link-122" class="py-name"><a title="aps.models.relacion.Relacion" class="py-name" href="#" onclick="return doclink('link-122', 'Relacion', 'link-43');">Relacion</a></tt><tt class="py-op">.</tt><tt id="link-123" class="py-name"><a title="aps.models.relacion.Relacion.iddestino" class="py-name" href="#" onclick="return doclink('link-123', 'iddestino', 'link-48');">iddestino</a></tt><tt class="py-op">,</tt> <tt id="link-124" class="py-name"><a title="aps.func
aps.models.func
aps.models.grafo.func
aps.models.proyecto.func
aps.views.atributo'.func
aps.views.fase.func
aps.views.func
aps.views.historial'.func
aps.views.item'.func
aps.views.lineabase'.func
aps.views.proyecto'.func
aps.views.relacion'.func
aps.views.rol'.func
aps.views.solicitudcambio.func
aps.views.usuario'.func" class="py-name" href="#" onclick="return doclink('link-124', 'func', 'link-2');">func</a></tt><tt class="py-op">.</tt><tt class="py-name">max</tt><tt class="py-op">(</tt><tt id="link-125" class="py-name"><a title="aps.models.relacion.Relacion" class="py-name" href="#" onclick="return doclink('link-125', 'Relacion', 'link-43');">Relacion</a></tt><tt class="py-op">.</tt><tt id="link-126" class="py-name"><a title="aps.models.relacion.Relacion.vdestino" class="py-name" href="#" onclick="return doclink('link-126', 'vdestino', 'link-50');">vdestino</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">filter_by</tt><tt class="py-op">(</tt><tt id="link-127" class="py-name"><a title="aps.models.relacion.Relacion.idorigen" class="py-name" href="#" onclick="return doclink('link-127', 'idorigen', 'link-44');">idorigen</a></tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-128" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-128', 'id', 'link-6');">id</a></tt><tt class="py-op">,</tt><tt id="link-129" class="py-name"><a title="aps.models.relacion.Relacion.vorigen" class="py-name" href="#" onclick="return doclink('link-129', 'vorigen', 'link-47');">vorigen</a></tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-130" class="py-name"><a title="aps.models.item.Item.version
aps.models.itematributovalor.ItemAtributoValor.version
aps.models.itemversion.ItemVersion.version
aps.models.uploadedfile.UploadedFile.version" class="py-name" href="#" onclick="return doclink('link-130', 'version', 'link-10');">version</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">group_by</tt><tt class="py-op">(</tt><tt id="link-131" class="py-name"><a title="aps.models.relacion.Relacion" class="py-name" href="#" onclick="return doclink('link-131', 'Relacion', 'link-43');">Relacion</a></tt><tt class="py-op">.</tt><tt id="link-132" class="py-name"><a title="aps.models.relacion.Relacion.iddestino" class="py-name" href="#" onclick="return doclink('link-132', 'iddestino', 'link-48');">iddestino</a></tt><tt class="py-op">,</tt> <tt id="link-133" class="py-name"><a title="aps.models.relacion.Relacion" class="py-name" href="#" onclick="return doclink('link-133', 'Relacion', 'link-43');">Relacion</a></tt><tt class="py-op">.</tt><tt id="link-134" class="py-name"><a title="aps.models.relacion.Relacion.idorigen" class="py-name" href="#" onclick="return doclink('link-134', 'idorigen', 'link-44');">idorigen</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">all</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">         </tt>
<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">        <tt class="py-name">relaciones_validas</tt>    <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">        <tt class="py-name">relaciones_invalidas</tt>  <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">        <tt class="py-name">relaciones_eliminadas</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">element</tt> <tt class="py-keyword">in</tt> <tt class="py-name">id_sucesores</tt><tt class="py-op">:</tt> </tt>
<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">            <tt class="py-name">id_item</tt> <tt class="py-op">=</tt> <tt class="py-name">element</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">            <tt id="link-135" class="py-name"><a title="aps.models.item.Item.version
aps.models.itematributovalor.ItemAtributoValor.version
aps.models.itemversion.ItemVersion.version
aps.models.uploadedfile.UploadedFile.version" class="py-name" href="#" onclick="return doclink('link-135', 'version', 'link-10');">version</a></tt> <tt class="py-op">=</tt> <tt class="py-name">element</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">            <tt class="py-comment"># Extraemos la relacion de la BD</tt> </tt>
<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">            <tt id="link-136" class="py-name"><a title="aps.models.relacion" class="py-name" href="#" onclick="return doclink('link-136', 'relacion', 'link-1');">relacion</a></tt> <tt class="py-op">=</tt> <tt id="link-137" class="py-name"><a title="aps.bdsession
aps.models.atributo.bdsession
aps.models.base.bdsession
aps.models.bdsession
aps.models.fase.bdsession
aps.models.faserol.bdsession
aps.models.fasetipoitem.bdsession
aps.models.grafo.bdsession
aps.models.historial.bdsession
aps.models.item.bdsession
aps.models.itematributovalor.bdsession
aps.models.itemversion.bdsession
aps.models.lineabase.bdsession
aps.models.permiso.bdsession
aps.models.proyecto.bdsession
aps.models.proyectofase.bdsession
aps.models.proyectorol.bdsession
aps.models.proyectousuario.bdsession
aps.models.proyectousuariorol.bdsession
aps.models.relacion.bdsession
aps.models.rol.bdsession
aps.models.rolpermiso.bdsession
aps.models.solicitud.bdsession
aps.models.solicituditem.bdsession
aps.models.tipoitem.bdsession
aps.models.tipoitematributo.bdsession
aps.models.uploadedfile.bdsession
aps.models.usuario.bdsession
aps.models.voto.bdsession
aps.views.atributo'.bdsession
aps.views.bdsession
aps.views.fase.bdsession
aps.views.historial'.bdsession
aps.views.item'.bdsession
aps.views.lineabase'.bdsession
aps.views.login'.bdsession
aps.views.main.bdsession
aps.views.permiso'.bdsession
aps.views.proyecto'.bdsession
aps.views.relacion'.bdsession
aps.views.rol'.bdsession
aps.views.solicitudcambio.bdsession
aps.views.tipoitem.bdsession
aps.views.usuario'.bdsession" class="py-name" href="#" onclick="return doclink('link-137', 'bdsession', 'link-42');">bdsession</a></tt><tt class="py-op">.</tt><tt class="py-name">query</tt><tt class="py-op">(</tt><tt id="link-138" class="py-name"><a title="aps.models.relacion.Relacion" class="py-name" href="#" onclick="return doclink('link-138', 'Relacion', 'link-43');">Relacion</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">filter_by</tt><tt class="py-op">(</tt><tt id="link-139" class="py-name"><a title="aps.models.relacion.Relacion.idorigen" class="py-name" href="#" onclick="return doclink('link-139', 'idorigen', 'link-44');">idorigen</a></tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-140" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-140', 'id', 'link-6');">id</a></tt><tt class="py-op">,</tt><tt id="link-141" class="py-name"><a title="aps.models.relacion.Relacion.vorigen" class="py-name" href="#" onclick="return doclink('link-141', 'vorigen', 'link-47');">vorigen</a></tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-142" class="py-name"><a title="aps.models.item.Item.version
aps.models.itematributovalor.ItemAtributoValor.version
aps.models.itemversion.ItemVersion.version
aps.models.uploadedfile.UploadedFile.version" class="py-name" href="#" onclick="return doclink('link-142', 'version', 'link-10');">version</a></tt><tt class="py-op">,</tt><tt id="link-143" class="py-name"><a title="aps.models.relacion.Relacion.iddestino" class="py-name" href="#" onclick="return doclink('link-143', 'iddestino', 'link-48');">iddestino</a></tt><tt class="py-op">=</tt><tt class="py-name">id_item</tt><tt class="py-op">,</tt><tt id="link-144" class="py-name"><a title="aps.models.relacion.Relacion.vdestino" class="py-name" href="#" onclick="return doclink('link-144', 'vdestino', 'link-50');">vdestino</a></tt><tt class="py-op">=</tt><tt id="link-145" class="py-name"><a title="aps.models.item.Item.version
aps.models.itematributovalor.ItemAtributoValor.version
aps.models.itemversion.ItemVersion.version
aps.models.uploadedfile.UploadedFile.version" class="py-name" href="#" onclick="return doclink('link-145', 'version', 'link-10');">version</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">first</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">            <tt class="py-comment"># item origen</tt> </tt>
<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">            <tt class="py-name">origen</tt> <tt class="py-op">=</tt> <tt id="link-146" class="py-name"><a title="aps.bdsession
aps.models.atributo.bdsession
aps.models.base.bdsession
aps.models.bdsession
aps.models.fase.bdsession
aps.models.faserol.bdsession
aps.models.fasetipoitem.bdsession
aps.models.grafo.bdsession
aps.models.historial.bdsession
aps.models.item.bdsession
aps.models.itematributovalor.bdsession
aps.models.itemversion.bdsession
aps.models.lineabase.bdsession
aps.models.permiso.bdsession
aps.models.proyecto.bdsession
aps.models.proyectofase.bdsession
aps.models.proyectorol.bdsession
aps.models.proyectousuario.bdsession
aps.models.proyectousuariorol.bdsession
aps.models.relacion.bdsession
aps.models.rol.bdsession
aps.models.rolpermiso.bdsession
aps.models.solicitud.bdsession
aps.models.solicituditem.bdsession
aps.models.tipoitem.bdsession
aps.models.tipoitematributo.bdsession
aps.models.uploadedfile.bdsession
aps.models.usuario.bdsession
aps.models.voto.bdsession
aps.views.atributo'.bdsession
aps.views.bdsession
aps.views.fase.bdsession
aps.views.historial'.bdsession
aps.views.item'.bdsession
aps.views.lineabase'.bdsession
aps.views.login'.bdsession
aps.views.main.bdsession
aps.views.permiso'.bdsession
aps.views.proyecto'.bdsession
aps.views.relacion'.bdsession
aps.views.rol'.bdsession
aps.views.solicitudcambio.bdsession
aps.views.tipoitem.bdsession
aps.views.usuario'.bdsession" class="py-name" href="#" onclick="return doclink('link-146', 'bdsession', 'link-42');">bdsession</a></tt><tt class="py-op">.</tt><tt class="py-name">query</tt><tt class="py-op">(</tt><tt id="link-147" class="py-name"><a title="aps.models.item.Item" class="py-name" href="#" onclick="return doclink('link-147', 'Item', 'link-84');">Item</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">filter_by</tt><tt class="py-op">(</tt><tt id="link-148" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-148', 'id', 'link-6');">id</a></tt><tt class="py-op">=</tt><tt id="link-149" class="py-name"><a title="aps.models.relacion" class="py-name" href="#" onclick="return doclink('link-149', 'relacion', 'link-1');">relacion</a></tt><tt class="py-op">.</tt><tt id="link-150" class="py-name"><a title="aps.models.relacion.Relacion.idorigen" class="py-name" href="#" onclick="return doclink('link-150', 'idorigen', 'link-44');">idorigen</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">first</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">            <tt class="py-comment"># item destino</tt> </tt>
<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">            <tt class="py-name">destino</tt> <tt class="py-op">=</tt> <tt id="link-151" class="py-name"><a title="aps.bdsession
aps.models.atributo.bdsession
aps.models.base.bdsession
aps.models.bdsession
aps.models.fase.bdsession
aps.models.faserol.bdsession
aps.models.fasetipoitem.bdsession
aps.models.grafo.bdsession
aps.models.historial.bdsession
aps.models.item.bdsession
aps.models.itematributovalor.bdsession
aps.models.itemversion.bdsession
aps.models.lineabase.bdsession
aps.models.permiso.bdsession
aps.models.proyecto.bdsession
aps.models.proyectofase.bdsession
aps.models.proyectorol.bdsession
aps.models.proyectousuario.bdsession
aps.models.proyectousuariorol.bdsession
aps.models.relacion.bdsession
aps.models.rol.bdsession
aps.models.rolpermiso.bdsession
aps.models.solicitud.bdsession
aps.models.solicituditem.bdsession
aps.models.tipoitem.bdsession
aps.models.tipoitematributo.bdsession
aps.models.uploadedfile.bdsession
aps.models.usuario.bdsession
aps.models.voto.bdsession
aps.views.atributo'.bdsession
aps.views.bdsession
aps.views.fase.bdsession
aps.views.historial'.bdsession
aps.views.item'.bdsession
aps.views.lineabase'.bdsession
aps.views.login'.bdsession
aps.views.main.bdsession
aps.views.permiso'.bdsession
aps.views.proyecto'.bdsession
aps.views.relacion'.bdsession
aps.views.rol'.bdsession
aps.views.solicitudcambio.bdsession
aps.views.tipoitem.bdsession
aps.views.usuario'.bdsession" class="py-name" href="#" onclick="return doclink('link-151', 'bdsession', 'link-42');">bdsession</a></tt><tt class="py-op">.</tt><tt class="py-name">query</tt><tt class="py-op">(</tt><tt id="link-152" class="py-name"><a title="aps.models.item.Item" class="py-name" href="#" onclick="return doclink('link-152', 'Item', 'link-84');">Item</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">filter_by</tt><tt class="py-op">(</tt><tt id="link-153" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-153', 'id', 'link-6');">id</a></tt><tt class="py-op">=</tt><tt id="link-154" class="py-name"><a title="aps.models.relacion" class="py-name" href="#" onclick="return doclink('link-154', 'relacion', 'link-1');">relacion</a></tt><tt class="py-op">.</tt><tt id="link-155" class="py-name"><a title="aps.models.relacion.Relacion.iddestino" class="py-name" href="#" onclick="return doclink('link-155', 'iddestino', 'link-48');">iddestino</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">first</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">            <tt class="py-comment"># controlamos que las versiones sean consistentes</tt> </tt>
<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">destino</tt><tt class="py-op">.</tt><tt id="link-156" class="py-name"><a title="aps.models.item.Item.version
aps.models.itematributovalor.ItemAtributoValor.version
aps.models.itemversion.ItemVersion.version
aps.models.uploadedfile.UploadedFile.version" class="py-name" href="#" onclick="return doclink('link-156', 'version', 'link-10');">version</a></tt> <tt class="py-op">==</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt id="link-157" class="py-name"><a title="aps.models.relacion" class="py-name" href="#" onclick="return doclink('link-157', 'relacion', 'link-1');">relacion</a></tt><tt class="py-op">.</tt><tt id="link-158" class="py-name"><a title="aps.models.relacion.Relacion.vdestino" class="py-name" href="#" onclick="return doclink('link-158', 'vdestino', 'link-50');">vdestino</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">                <tt class="py-comment"># Filtramos las relaciones de acuerdo al estado de la relacion</tt> </tt>
<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-159" class="py-name"><a title="aps.models.relacion" class="py-name" href="#" onclick="return doclink('link-159', 'relacion', 'link-1');">relacion</a></tt><tt class="py-op">.</tt><tt id="link-160" class="py-name"><a title="aps.models.fase.Fase.estado
aps.models.item.Item.estado
aps.models.itemversion.ItemVersion.estado
aps.models.lineabase.Lineabase.estado
aps.models.proyecto.Proyecto.estado
aps.models.relacion.Relacion.estado
aps.models.solicitud.Solicitud.estado" class="py-name" href="#" onclick="return doclink('link-160', 'estado', 'link-13');">estado</a></tt> <tt class="py-op">==</tt> <tt class="py-string">'VALIDO'</tt><tt class="py-op">:</tt> </tt>
<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">                    <tt class="py-name">relaciones_validas</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-161" class="py-name"><a title="aps.models.relacion" class="py-name" href="#" onclick="return doclink('link-161', 'relacion', 'link-1');">relacion</a></tt><tt class="py-op">)</tt> </tt>
<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt id="link-162" class="py-name"><a title="aps.models.relacion" class="py-name" href="#" onclick="return doclink('link-162', 'relacion', 'link-1');">relacion</a></tt><tt class="py-op">.</tt><tt id="link-163" class="py-name"><a title="aps.models.fase.Fase.estado
aps.models.item.Item.estado
aps.models.itemversion.ItemVersion.estado
aps.models.lineabase.Lineabase.estado
aps.models.proyecto.Proyecto.estado
aps.models.relacion.Relacion.estado
aps.models.solicitud.Solicitud.estado" class="py-name" href="#" onclick="return doclink('link-163', 'estado', 'link-13');">estado</a></tt> <tt class="py-op">==</tt> <tt class="py-string">'INVALIDO'</tt><tt class="py-op">:</tt> </tt>
<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">                    <tt class="py-name">relaciones_invalidas</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-164" class="py-name"><a title="aps.models.relacion" class="py-name" href="#" onclick="return doclink('link-164', 'relacion', 'link-1');">relacion</a></tt><tt class="py-op">)</tt> </tt>
<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">                    <tt class="py-name">relaciones_eliminadas</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-165" class="py-name"><a title="aps.models.relacion" class="py-name" href="#" onclick="return doclink('link-165', 'relacion', 'link-1');">relacion</a></tt><tt class="py-op">)</tt> </tt>
<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">         </tt>
<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-op">{</tt> <tt class="py-string">'validas'</tt><tt class="py-op">:</tt><tt class="py-name">relaciones_validas</tt><tt class="py-op">,</tt><tt class="py-string">'invalidas'</tt><tt class="py-op">:</tt><tt class="py-name">relaciones_invalidas</tt><tt class="py-op">,</tt><tt class="py-string">'eliminadas'</tt><tt class="py-op">:</tt><tt class="py-name">relaciones_eliminadas</tt><tt class="py-op">}</tt> </tt>
</div><a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">     </tt>
<a name="Item.get_relaciones"></a><div id="Item.get_relaciones-def"><a name="L156"></a><tt class="py-lineno">156</tt> <a class="py-toggle" href="#" id="Item.get_relaciones-toggle" onclick="return toggle('Item.get_relaciones');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="aps.models.item.Item-class.html#get_relaciones">get_relaciones</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">version</tt><tt class="py-op">=</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="Item.get_relaciones-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Item.get_relaciones-expanded"><a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line"><tt class="py-docstring">        Metodo que retorna todas las relaciones del item en una version dada.</tt> </tt>
<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line"><tt class="py-docstring">        @type self: Item</tt> </tt>
<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line"><tt class="py-docstring">        @param self: referencia al objeto que llama el metodo en este caso item.</tt> </tt>
<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line"><tt class="py-docstring">        @type version: Integer</tt> </tt>
<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line"><tt class="py-docstring">        @param version: version en la cual queremos obtener las relaciones, por defecto es la version actual.</tt> </tt>
<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">        <tt class="py-comment"># Por defecto, la version es la version actual</tt> </tt>
<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-166" class="py-name"><a title="aps.models.item.Item.version
aps.models.itematributovalor.ItemAtributoValor.version
aps.models.itemversion.ItemVersion.version
aps.models.uploadedfile.UploadedFile.version" class="py-name" href="#" onclick="return doclink('link-166', 'version', 'link-10');">version</a></tt> <tt class="py-op">==</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">            <tt id="link-167" class="py-name"><a title="aps.models.item.Item.version
aps.models.itematributovalor.ItemAtributoValor.version
aps.models.itemversion.ItemVersion.version
aps.models.uploadedfile.UploadedFile.version" class="py-name" href="#" onclick="return doclink('link-167', 'version', 'link-10');">version</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-168" class="py-name"><a title="aps.models.item.Item.version
aps.models.itematributovalor.ItemAtributoValor.version
aps.models.itemversion.ItemVersion.version
aps.models.uploadedfile.UploadedFile.version" class="py-name" href="#" onclick="return doclink('link-168', 'version', 'link-10');">version</a></tt> </tt>
<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">        <tt class="py-name">tmp</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-169" class="py-name"><a title="aps.models.item.Item.version
aps.models.itematributovalor.ItemAtributoValor.version
aps.models.itemversion.ItemVersion.version
aps.models.uploadedfile.UploadedFile.version" class="py-name" href="#" onclick="return doclink('link-169', 'version', 'link-10');">version</a></tt> </tt>
<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-170" class="py-name"><a title="aps.models.item.Item.version
aps.models.itematributovalor.ItemAtributoValor.version
aps.models.itemversion.ItemVersion.version
aps.models.uploadedfile.UploadedFile.version" class="py-name" href="#" onclick="return doclink('link-170', 'version', 'link-10');">version</a></tt> <tt class="py-op">=</tt> <tt id="link-171" class="py-name"><a title="aps.models.item.Item.version
aps.models.itematributovalor.ItemAtributoValor.version
aps.models.itemversion.ItemVersion.version
aps.models.uploadedfile.UploadedFile.version" class="py-name" href="#" onclick="return doclink('link-171', 'version', 'link-10');">version</a></tt> </tt>
<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">        <tt class="py-comment"># Obtenemos las relaciones</tt> </tt>
<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">        <tt class="py-name">ante</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-172" class="py-name" targets="Method aps.models.item.Item.get_antecesores()=aps.models.item.Item-class.html#get_antecesores"><a title="aps.models.item.Item.get_antecesores" class="py-name" href="#" onclick="return doclink('link-172', 'get_antecesores', 'link-172');">get_antecesores</a></tt><tt class="py-op">(</tt><tt class="py-string">'ALL'</tt><tt class="py-op">)</tt> </tt>
<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">        <tt class="py-name">suce</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-173" class="py-name" targets="Method aps.models.item.Item.get_sucesores()=aps.models.item.Item-class.html#get_sucesores"><a title="aps.models.item.Item.get_sucesores" class="py-name" href="#" onclick="return doclink('link-173', 'get_sucesores', 'link-173');">get_sucesores</a></tt><tt class="py-op">(</tt><tt class="py-string">'ALL'</tt><tt class="py-op">)</tt> </tt>
<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">        <tt class="py-comment"># Ponemos las relaciones todas juntas</tt> </tt>
<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">        <tt class="py-name">rels</tt> <tt class="py-op">=</tt> <tt class="py-name">ante</tt><tt class="py-op">[</tt><tt class="py-string">'validas'</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-name">suce</tt><tt class="py-op">[</tt><tt class="py-string">'validas'</tt><tt class="py-op">]</tt> </tt>
<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">        <tt class="py-comment"># Restauramos la version del item</tt> </tt>
<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-174" class="py-name"><a title="aps.models.item.Item.version
aps.models.itematributovalor.ItemAtributoValor.version
aps.models.itemversion.ItemVersion.version
aps.models.uploadedfile.UploadedFile.version" class="py-name" href="#" onclick="return doclink('link-174', 'version', 'link-10');">version</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tmp</tt> </tt>
<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">        <tt class="py-comment"># Retornamos la lista de relaciones</tt> </tt>
<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">rels</tt> </tt>
</div><a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">     </tt>
<a name="Item.hijos_aprobados"></a><div id="Item.hijos_aprobados-def"><a name="L179"></a><tt class="py-lineno">179</tt> <a class="py-toggle" href="#" id="Item.hijos_aprobados-toggle" onclick="return toggle('Item.hijos_aprobados');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="aps.models.item.Item-class.html#hijos_aprobados">hijos_aprobados</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="Item.hijos_aprobados-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Item.hijos_aprobados-expanded"><a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line"><tt class="py-docstring">        Metodo que indica si todos los hijos de un item se encuentran aprobados</tt> </tt>
<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line"><tt class="py-docstring">        @type self: Item</tt> </tt>
<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line"><tt class="py-docstring">        @param self: referencia al objeto que llama el metodo en este caso item.</tt> </tt>
<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line">        <tt class="py-comment"># Obtenemos las relaciones con los hijos</tt> </tt>
<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">        <tt class="py-name">sucesores</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-175" class="py-name"><a title="aps.models.item.Item.get_sucesores" class="py-name" href="#" onclick="return doclink('link-175', 'get_sucesores', 'link-173');">get_sucesores</a></tt><tt class="py-op">(</tt><tt class="py-string">'PH'</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-string">'validas'</tt><tt class="py-op">]</tt> </tt>
<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">r</tt> <tt class="py-keyword">in</tt> <tt class="py-name">sucesores</tt><tt class="py-op">:</tt> </tt>
<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">            <tt class="py-comment"># Obtenemos el hijo desde la BD</tt> </tt>
<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">            <tt class="py-name">hijo</tt> <tt class="py-op">=</tt> <tt id="link-176" class="py-name"><a title="aps.bdsession
aps.models.atributo.bdsession
aps.models.base.bdsession
aps.models.bdsession
aps.models.fase.bdsession
aps.models.faserol.bdsession
aps.models.fasetipoitem.bdsession
aps.models.grafo.bdsession
aps.models.historial.bdsession
aps.models.item.bdsession
aps.models.itematributovalor.bdsession
aps.models.itemversion.bdsession
aps.models.lineabase.bdsession
aps.models.permiso.bdsession
aps.models.proyecto.bdsession
aps.models.proyectofase.bdsession
aps.models.proyectorol.bdsession
aps.models.proyectousuario.bdsession
aps.models.proyectousuariorol.bdsession
aps.models.relacion.bdsession
aps.models.rol.bdsession
aps.models.rolpermiso.bdsession
aps.models.solicitud.bdsession
aps.models.solicituditem.bdsession
aps.models.tipoitem.bdsession
aps.models.tipoitematributo.bdsession
aps.models.uploadedfile.bdsession
aps.models.usuario.bdsession
aps.models.voto.bdsession
aps.views.atributo'.bdsession
aps.views.bdsession
aps.views.fase.bdsession
aps.views.historial'.bdsession
aps.views.item'.bdsession
aps.views.lineabase'.bdsession
aps.views.login'.bdsession
aps.views.main.bdsession
aps.views.permiso'.bdsession
aps.views.proyecto'.bdsession
aps.views.relacion'.bdsession
aps.views.rol'.bdsession
aps.views.solicitudcambio.bdsession
aps.views.tipoitem.bdsession
aps.views.usuario'.bdsession" class="py-name" href="#" onclick="return doclink('link-176', 'bdsession', 'link-42');">bdsession</a></tt><tt class="py-op">.</tt><tt class="py-name">query</tt><tt class="py-op">(</tt><tt id="link-177" class="py-name"><a title="aps.models.item.Item" class="py-name" href="#" onclick="return doclink('link-177', 'Item', 'link-84');">Item</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">filter_by</tt><tt class="py-op">(</tt><tt id="link-178" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-178', 'id', 'link-6');">id</a></tt><tt class="py-op">=</tt><tt class="py-name">r</tt><tt class="py-op">.</tt><tt id="link-179" class="py-name"><a title="aps.models.relacion.Relacion.iddestino" class="py-name" href="#" onclick="return doclink('link-179', 'iddestino', 'link-48');">iddestino</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">first</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">hijo</tt><tt class="py-op">.</tt><tt id="link-180" class="py-name"><a title="aps.models.fase.Fase.estado
aps.models.item.Item.estado
aps.models.itemversion.ItemVersion.estado
aps.models.lineabase.Lineabase.estado
aps.models.proyecto.Proyecto.estado
aps.models.relacion.Relacion.estado
aps.models.solicitud.Solicitud.estado" class="py-name" href="#" onclick="return doclink('link-180', 'estado', 'link-13');">estado</a></tt> <tt class="py-op">!=</tt> <tt class="py-string">u'APROBADO'</tt><tt class="py-op">:</tt> </tt>
<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
</div><a name="Item.padres_aprobados"></a><div id="Item.padres_aprobados-def"><a name="L193"></a><tt class="py-lineno">193</tt> <a class="py-toggle" href="#" id="Item.padres_aprobados-toggle" onclick="return toggle('Item.padres_aprobados');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="aps.models.item.Item-class.html#padres_aprobados">padres_aprobados</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="Item.padres_aprobados-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Item.padres_aprobados-expanded"><a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line"><tt class="py-docstring">        Metodo que indica si todos los padres de un item se encuentran aprobados</tt> </tt>
<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line"><tt class="py-docstring">        @type self: Item</tt> </tt>
<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line"><tt class="py-docstring">        @param self: referencia al objeto que llama el metodo en este caso item.</tt> </tt>
<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">        <tt class="py-comment"># Obtenemos las relaciones con los padres</tt> </tt>
<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">        <tt class="py-name">antecesores</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-181" class="py-name"><a title="aps.models.item.Item.get_antecesores" class="py-name" href="#" onclick="return doclink('link-181', 'get_antecesores', 'link-172');">get_antecesores</a></tt><tt class="py-op">(</tt><tt class="py-string">'PH'</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-string">'validas'</tt><tt class="py-op">]</tt> </tt>
<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">r</tt> <tt class="py-keyword">in</tt> <tt class="py-name">antecesores</tt><tt class="py-op">:</tt> </tt>
<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">            <tt class="py-comment"># Obtenemos el hijo desde la BD</tt> </tt>
<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">            <tt class="py-name">padre</tt> <tt class="py-op">=</tt> <tt id="link-182" class="py-name"><a title="aps.bdsession
aps.models.atributo.bdsession
aps.models.base.bdsession
aps.models.bdsession
aps.models.fase.bdsession
aps.models.faserol.bdsession
aps.models.fasetipoitem.bdsession
aps.models.grafo.bdsession
aps.models.historial.bdsession
aps.models.item.bdsession
aps.models.itematributovalor.bdsession
aps.models.itemversion.bdsession
aps.models.lineabase.bdsession
aps.models.permiso.bdsession
aps.models.proyecto.bdsession
aps.models.proyectofase.bdsession
aps.models.proyectorol.bdsession
aps.models.proyectousuario.bdsession
aps.models.proyectousuariorol.bdsession
aps.models.relacion.bdsession
aps.models.rol.bdsession
aps.models.rolpermiso.bdsession
aps.models.solicitud.bdsession
aps.models.solicituditem.bdsession
aps.models.tipoitem.bdsession
aps.models.tipoitematributo.bdsession
aps.models.uploadedfile.bdsession
aps.models.usuario.bdsession
aps.models.voto.bdsession
aps.views.atributo'.bdsession
aps.views.bdsession
aps.views.fase.bdsession
aps.views.historial'.bdsession
aps.views.item'.bdsession
aps.views.lineabase'.bdsession
aps.views.login'.bdsession
aps.views.main.bdsession
aps.views.permiso'.bdsession
aps.views.proyecto'.bdsession
aps.views.relacion'.bdsession
aps.views.rol'.bdsession
aps.views.solicitudcambio.bdsession
aps.views.tipoitem.bdsession
aps.views.usuario'.bdsession" class="py-name" href="#" onclick="return doclink('link-182', 'bdsession', 'link-42');">bdsession</a></tt><tt class="py-op">.</tt><tt class="py-name">query</tt><tt class="py-op">(</tt><tt id="link-183" class="py-name"><a title="aps.models.item.Item" class="py-name" href="#" onclick="return doclink('link-183', 'Item', 'link-84');">Item</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">filter_by</tt><tt class="py-op">(</tt><tt id="link-184" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-184', 'id', 'link-6');">id</a></tt><tt class="py-op">=</tt><tt class="py-name">r</tt><tt class="py-op">.</tt><tt id="link-185" class="py-name"><a title="aps.models.relacion.Relacion.idorigen" class="py-name" href="#" onclick="return doclink('link-185', 'idorigen', 'link-44');">idorigen</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">first</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">padre</tt><tt class="py-op">.</tt><tt id="link-186" class="py-name"><a title="aps.models.fase.Fase.estado
aps.models.item.Item.estado
aps.models.itemversion.ItemVersion.estado
aps.models.lineabase.Lineabase.estado
aps.models.proyecto.Proyecto.estado
aps.models.relacion.Relacion.estado
aps.models.solicitud.Solicitud.estado" class="py-name" href="#" onclick="return doclink('link-186', 'estado', 'link-13');">estado</a></tt> <tt class="py-op">!=</tt> <tt class="py-string">u'APROBADO'</tt><tt class="py-op">:</tt> </tt>
<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
</div><a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">     </tt>
<a name="Item.diff"></a><div id="Item.diff-def"><a name="L208"></a><tt class="py-lineno">208</tt> <a class="py-toggle" href="#" id="Item.diff-toggle" onclick="return toggle('Item.diff');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="aps.models.item.Item-class.html#diff">diff</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">version</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="Item.diff-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Item.diff-expanded"><a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line"><tt class="py-docstring">        Metodo que indica las diferencias entre los atributos de la version actual</tt> </tt>
<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line"><tt class="py-docstring">        del item con otra version anterior.</tt> </tt>
<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line"><tt class="py-docstring">        @type self: Item</tt> </tt>
<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line"><tt class="py-docstring">        @param self: referencia al objeto que llama al metodo.</tt> </tt>
<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line"><tt class="py-docstring">        @type version: Integer</tt> </tt>
<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line"><tt class="py-docstring">        @param version: version anterior del item a comparar</tt> </tt>
<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">        <tt class="py-keyword">def</tt> <tt class="py-def-name">is_in</tt><tt class="py-op">(</tt><tt class="py-param">L</tt><tt class="py-op">,</tt><tt class="py-param">e</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line">            <tt class="py-docstring">"""</tt> </tt>
<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line"><tt class="py-docstring">            Metodo auxiliar que controla si un elemento de tipo ItemAtributoValor</tt> </tt>
<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line"><tt class="py-docstring">            existe dentro de una lista de este tipo de elementos.</tt> </tt>
<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line"><tt class="py-docstring">            @type L: List</tt> </tt>
<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line"><tt class="py-docstring">            @param L: lista de elementos ItemAtributoValor.</tt> </tt>
<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line"><tt class="py-docstring">            @type e: ItemAtributoValor</tt> </tt>
<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line"><tt class="py-docstring">            @param e: elemento que se desea comprobar si existe dentro de la lista.</tt> </tt>
<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line"><tt class="py-docstring">            """</tt> </tt>
<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">x</tt> <tt class="py-keyword">in</tt> <tt class="py-name">L</tt><tt class="py-op">:</tt> </tt>
<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">e</tt><tt class="py-op">.</tt><tt id="link-187" class="py-name" targets="Variable aps.models.itematributovalor.ItemAtributoValor.idatributo=aps.models.itematributovalor.ItemAtributoValor-class.html#idatributo,Variable aps.models.tipoitematributo.TipoitemAtributo.idatributo=aps.models.tipoitematributo.TipoitemAtributo-class.html#idatributo,Variable aps.models.uploadedfile.UploadedFile.idatributo=aps.models.uploadedfile.UploadedFile-class.html#idatributo"><a title="aps.models.itematributovalor.ItemAtributoValor.idatributo
aps.models.tipoitematributo.TipoitemAtributo.idatributo
aps.models.uploadedfile.UploadedFile.idatributo" class="py-name" href="#" onclick="return doclink('link-187', 'idatributo', 'link-187');">idatributo</a></tt> <tt class="py-op">==</tt> <tt class="py-name">x</tt><tt class="py-op">.</tt><tt id="link-188" class="py-name"><a title="aps.models.itematributovalor.ItemAtributoValor.idatributo
aps.models.tipoitematributo.TipoitemAtributo.idatributo
aps.models.uploadedfile.UploadedFile.idatributo" class="py-name" href="#" onclick="return doclink('link-188', 'idatributo', 'link-187');">idatributo</a></tt> <tt class="py-keyword">and</tt> <tt class="py-name">e</tt><tt class="py-op">.</tt><tt id="link-189" class="py-name" targets="Variable aps.models.itematributovalor.ItemAtributoValor.valor=aps.models.itematributovalor.ItemAtributoValor-class.html#valor"><a title="aps.models.itematributovalor.ItemAtributoValor.valor" class="py-name" href="#" onclick="return doclink('link-189', 'valor', 'link-189');">valor</a></tt> <tt class="py-op">==</tt> <tt class="py-name">x</tt><tt class="py-op">.</tt><tt id="link-190" class="py-name"><a title="aps.models.itematributovalor.ItemAtributoValor.valor" class="py-name" href="#" onclick="return doclink('link-190', 'valor', 'link-189');">valor</a></tt><tt class="py-op">:</tt> </tt>
<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
</div><a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line">         </tt>
<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line">        <tt class="py-comment"># atributos actuales</tt> </tt>
<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">        <tt class="py-name">atributos_act</tt> <tt class="py-op">=</tt> <tt id="link-191" class="py-name"><a title="aps.bdsession
aps.models.atributo.bdsession
aps.models.base.bdsession
aps.models.bdsession
aps.models.fase.bdsession
aps.models.faserol.bdsession
aps.models.fasetipoitem.bdsession
aps.models.grafo.bdsession
aps.models.historial.bdsession
aps.models.item.bdsession
aps.models.itematributovalor.bdsession
aps.models.itemversion.bdsession
aps.models.lineabase.bdsession
aps.models.permiso.bdsession
aps.models.proyecto.bdsession
aps.models.proyectofase.bdsession
aps.models.proyectorol.bdsession
aps.models.proyectousuario.bdsession
aps.models.proyectousuariorol.bdsession
aps.models.relacion.bdsession
aps.models.rol.bdsession
aps.models.rolpermiso.bdsession
aps.models.solicitud.bdsession
aps.models.solicituditem.bdsession
aps.models.tipoitem.bdsession
aps.models.tipoitematributo.bdsession
aps.models.uploadedfile.bdsession
aps.models.usuario.bdsession
aps.models.voto.bdsession
aps.views.atributo'.bdsession
aps.views.bdsession
aps.views.fase.bdsession
aps.views.historial'.bdsession
aps.views.item'.bdsession
aps.views.lineabase'.bdsession
aps.views.login'.bdsession
aps.views.main.bdsession
aps.views.permiso'.bdsession
aps.views.proyecto'.bdsession
aps.views.relacion'.bdsession
aps.views.rol'.bdsession
aps.views.solicitudcambio.bdsession
aps.views.tipoitem.bdsession
aps.views.usuario'.bdsession" class="py-name" href="#" onclick="return doclink('link-191', 'bdsession', 'link-42');">bdsession</a></tt><tt class="py-op">.</tt><tt class="py-name">query</tt><tt class="py-op">(</tt><tt id="link-192" class="py-name" targets="Class aps.models.itematributovalor.ItemAtributoValor=aps.models.itematributovalor.ItemAtributoValor-class.html"><a title="aps.models.itematributovalor.ItemAtributoValor" class="py-name" href="#" onclick="return doclink('link-192', 'ItemAtributoValor', 'link-192');">ItemAtributoValor</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">filter_by</tt><tt class="py-op">(</tt><tt id="link-193" class="py-name" targets="Variable aps.models.historial.Historial.iditem=aps.models.historial.Historial-class.html#iditem,Variable aps.models.itematributovalor.ItemAtributoValor.iditem=aps.models.itematributovalor.ItemAtributoValor-class.html#iditem,Variable aps.models.itemversion.ItemVersion.iditem=aps.models.itemversion.ItemVersion-class.html#iditem,Variable aps.models.solicituditem.SolicitudItem.iditem=aps.models.solicituditem.SolicitudItem-class.html#iditem,Variable aps.models.uploadedfile.UploadedFile.iditem=aps.models.uploadedfile.UploadedFile-class.html#iditem"><a title="aps.models.historial.Historial.iditem
aps.models.itematributovalor.ItemAtributoValor.iditem
aps.models.itemversion.ItemVersion.iditem
aps.models.solicituditem.SolicitudItem.iditem
aps.models.uploadedfile.UploadedFile.iditem" class="py-name" href="#" onclick="return doclink('link-193', 'iditem', 'link-193');">iditem</a></tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-194" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-194', 'id', 'link-6');">id</a></tt><tt class="py-op">,</tt><tt id="link-195" class="py-name"><a title="aps.models.item.Item.version
aps.models.itematributovalor.ItemAtributoValor.version
aps.models.itemversion.ItemVersion.version
aps.models.uploadedfile.UploadedFile.version" class="py-name" href="#" onclick="return doclink('link-195', 'version', 'link-10');">version</a></tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-196" class="py-name"><a title="aps.models.item.Item.version
aps.models.itematributovalor.ItemAtributoValor.version
aps.models.itemversion.ItemVersion.version
aps.models.uploadedfile.UploadedFile.version" class="py-name" href="#" onclick="return doclink('link-196', 'version', 'link-10');">version</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">all</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line">        <tt class="py-comment"># atributos anteriores</tt> </tt>
<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line">        <tt class="py-name">atributos_ant</tt> <tt class="py-op">=</tt> <tt id="link-197" class="py-name"><a title="aps.bdsession
aps.models.atributo.bdsession
aps.models.base.bdsession
aps.models.bdsession
aps.models.fase.bdsession
aps.models.faserol.bdsession
aps.models.fasetipoitem.bdsession
aps.models.grafo.bdsession
aps.models.historial.bdsession
aps.models.item.bdsession
aps.models.itematributovalor.bdsession
aps.models.itemversion.bdsession
aps.models.lineabase.bdsession
aps.models.permiso.bdsession
aps.models.proyecto.bdsession
aps.models.proyectofase.bdsession
aps.models.proyectorol.bdsession
aps.models.proyectousuario.bdsession
aps.models.proyectousuariorol.bdsession
aps.models.relacion.bdsession
aps.models.rol.bdsession
aps.models.rolpermiso.bdsession
aps.models.solicitud.bdsession
aps.models.solicituditem.bdsession
aps.models.tipoitem.bdsession
aps.models.tipoitematributo.bdsession
aps.models.uploadedfile.bdsession
aps.models.usuario.bdsession
aps.models.voto.bdsession
aps.views.atributo'.bdsession
aps.views.bdsession
aps.views.fase.bdsession
aps.views.historial'.bdsession
aps.views.item'.bdsession
aps.views.lineabase'.bdsession
aps.views.login'.bdsession
aps.views.main.bdsession
aps.views.permiso'.bdsession
aps.views.proyecto'.bdsession
aps.views.relacion'.bdsession
aps.views.rol'.bdsession
aps.views.solicitudcambio.bdsession
aps.views.tipoitem.bdsession
aps.views.usuario'.bdsession" class="py-name" href="#" onclick="return doclink('link-197', 'bdsession', 'link-42');">bdsession</a></tt><tt class="py-op">.</tt><tt class="py-name">query</tt><tt class="py-op">(</tt><tt id="link-198" class="py-name"><a title="aps.models.itematributovalor.ItemAtributoValor" class="py-name" href="#" onclick="return doclink('link-198', 'ItemAtributoValor', 'link-192');">ItemAtributoValor</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">filter_by</tt><tt class="py-op">(</tt><tt id="link-199" class="py-name"><a title="aps.models.historial.Historial.iditem
aps.models.itematributovalor.ItemAtributoValor.iditem
aps.models.itemversion.ItemVersion.iditem
aps.models.solicituditem.SolicitudItem.iditem
aps.models.uploadedfile.UploadedFile.iditem" class="py-name" href="#" onclick="return doclink('link-199', 'iditem', 'link-193');">iditem</a></tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-200" class="py-name"><a title="aps.models.atributo.Atributo.id
aps.models.fase.Fase.id
aps.models.item.Item.id
aps.models.itemversion.ItemVersion.id
aps.models.lineabase.Lineabase.id
aps.models.permiso.Permiso.id
aps.models.proyecto.Proyecto.id
aps.models.rol.Rol.id
aps.models.solicitud.Solicitud.id
aps.models.tipoitem.Tipoitem.id
aps.models.usuario.Usuario.id" class="py-name" href="#" onclick="return doclink('link-200', 'id', 'link-6');">id</a></tt><tt class="py-op">,</tt><tt id="link-201" class="py-name"><a title="aps.models.item.Item.version
aps.models.itematributovalor.ItemAtributoValor.version
aps.models.itemversion.ItemVersion.version
aps.models.uploadedfile.UploadedFile.version" class="py-name" href="#" onclick="return doclink('link-201', 'version', 'link-10');">version</a></tt><tt class="py-op">=</tt><tt id="link-202" class="py-name"><a title="aps.models.item.Item.version
aps.models.itematributovalor.ItemAtributoValor.version
aps.models.itemversion.ItemVersion.version
aps.models.uploadedfile.UploadedFile.version" class="py-name" href="#" onclick="return doclink('link-202', 'version', 'link-10');">version</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">all</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line">        <tt class="py-comment"># obtenemos que atributos anteriores difieren de los anteriores</tt> </tt>
<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line">        <tt class="py-name">atributo_diff</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">iav</tt> <tt class="py-keyword">in</tt> <tt class="py-name">atributos_act</tt><tt class="py-op">:</tt> </tt>
<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">is_in</tt><tt class="py-op">(</tt><tt class="py-name">atributos_ant</tt><tt class="py-op">,</tt><tt class="py-name">iav</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line">                <tt class="py-name">atributo_diff</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">iav</tt><tt class="py-op">)</tt> </tt>
<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">        <tt class="py-comment"># retornamos los resultados</tt> </tt>
<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">atributo_diff</tt> </tt>
</div></div><a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line"> </tt><script type="text/javascript">
<!--
expandto(location.href);
// -->
</script>
</pre>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">
  <!-- Home link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="aps-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

      <th class="navbar" width="100%"></th>
  </tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
  <tr>
    <td align="left" class="footer">
    Generated by Epydoc 3.0.1 on Sat Jun  8 08:44:02 2013
    </td>
    <td align="right" class="footer">
      <a target="mainFrame" href="http://epydoc.sourceforge.net"
        >http://epydoc.sourceforge.net</a>
    </td>
  </tr>
</table>

<script type="text/javascript">
  <!--
  // Private objects are initially displayed (because if
  // javascript is turned off then we want them to be
  // visible); but by default, we want to hide them.  So hide
  // them unless we have a cookie that says to show them.
  checkCookie();
  // -->
</script>
</body>
</html>
